【发布时间】:2016-02-11 22:51:58
【问题描述】:
页面加载:
protected void Page_Load(object sender, EventArgs e)
{
tb.Columns.Add("Id", typeof(int));
tb.Columns.Add("FileName", typeof(string));
tb.Columns.Add("FilePath", typeof(string));
tb.Columns.Add("Index", typeof(int));
newtb.Columns.Add("Id", typeof(int));
newtb.Columns.Add("FileName", typeof(string));
newtb.Columns.Add("FilePath", typeof(string));
newtb.Columns.Add("Index", typeof(int));
path = objGetBaseCase.GetAllImagesfromGroup(CaseId);
for (int i = 0; i < path.Count; i++)
{
ArrayList alst = path[i];
tb.Rows.Add(Convert.ToInt32(alst[0]), alst[1].ToString(), alst[2].ToString(), i);
}
msgError.Text = "";
dlstImage.DataSource = tb;
DataBind();
List<ArrayList> t = new List<ArrayList>();
if (newpath.Count > 0)
{
t = newpath;
newpath = t;
for (int i = 0; i < newpath.Count; i++)
{
ArrayList alst = newpath[i];
newtb.Rows.Add(Convert.ToInt32(alst[0]), alst[1].ToString(), alst[2].ToString(), i);
}
ViewState["tempimage"] = newpath;
dlstSelectedImages.DataSource = newtb;
DataBind();
}
}
Datalist SelectedIndexChanged:
protected void dlstSelectedImages_SelectedIndexChanged(object sender, EventArgs e)
{
indexId = Convert.ToInt32(dlstSelectedImages.DataKeys[dlstSelectedImages.SelectedIndex]);
}
数据列表:
<asp:DataList ID="dlstSelectedImages" runat="server" RepeatDirection="Horizontal"
RepeatColumns="5" CellSpacing="8" DataKeyField="Id" OnSelectedIndexChanged="dlstSelectedImages_SelectedIndexChanged">
<ItemTemplate>
<asp:ImageButton ID="Image" runat="server" ImageUrl='<%#"~/Controls/ShowImage.ashx?FileName=" +DataBinder.Eval(Container.DataItem, "FilePath") %>'
CommandName="Select" OnCommand="ImageSelect_Command" CommandArgument='<%# Eval("Id").ToString() +";"+Eval("FilePath")+";"+Eval("Index")+";"+Eval("FileName") %>' /><br />
<asp:Label ID="nlbl" runat="server" Text="Figure"></asp:Label><%# dlstSelectedImages.Items.Count + 1%>
</ItemTemplate>
</asp:DataList>
试用:View State="Enable",AutoEventWireup="true",
autopostback="true"
当我在这个 !IsPostBack 中绑定数据列表时效果很好,但现在我不想在 !IsPostBack 中绑定我的数据列表,我也不想使用 ItemCommand
但它不起作用,有人帮助我......
【问题讨论】:
-
为什么不在
if(!IsPostBack)内绑定?做吧,看看结果 -
@v4vendetta:当我绑定 if(!IsPostBack) 时它的工作但我丢失了 datalist 中的图像,它没有显示图像,所以我不想使用 if(!IsPostBack)
-
@v4vendetta:我试过了,但没用
-
你能扩展一下不工作的部分吗?是回发还是未到达代码或您有异常..whatttt
-
我同时绑定 2 个数据列表,当我将所有代码保留在 If(!IsPostBack) 中时,它工作正常,但 datalist1 的所有项目都加倍,我尝试保留我正在使用 selectedindex 的数据列表也无法正常工作