<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<%# Eval ("id") %>
<asp:Button ID="Button3" runat="server" Text="删除" onclick="Button3_Click" />
</ItemTemplate>
</asp:DataList>
如何在单击事件发生后,获取到ID值啊???本人想了一个法子用这样的方法
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval ("id") %>' ></asp:Label>
<asp:Button ID="Button3" runat="server" Text="删除" onclick="Button3_Click" />
</ItemTemplate>
</asp:DataList>
然后,后台这样:
Label label = (Label)DataList1.Controls[0].FindControl("Label1");
label.text,这样获取的只是第一个值的ID,所以数报出的都是第一个值的ID,这样好像不行啊???求方法。。
<ItemTemplate>
<%# Eval ("id") %>
<asp:Button ID="Button3" runat="server" Text="删除" onclick="Button3_Click" />
</ItemTemplate>
</asp:DataList>
如何在单击事件发生后,获取到ID值啊???本人想了一个法子用这样的方法
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval ("id") %>' ></asp:Label>
<asp:Button ID="Button3" runat="server" Text="删除" onclick="Button3_Click" />
</ItemTemplate>
</asp:DataList>
然后,后台这样:
Label label = (Label)DataList1.Controls[0].FindControl("Label1");
label.text,这样获取的只是第一个值的ID,所以数报出的都是第一个值的ID,这样好像不行啊???求方法。。
Label l = dl.FindControl("Label1") as Label;
就可以了吧
Label label = (Label)DataList1.FindControl("Label1");
好像可以吧
DataListItem dl = (sender as Button).Parent as DataListItem;
Label lbl = dl.FindControl("Label1") as Label;
string strTxt=lbl.text;
在datalist中点控件是点不出来单击事件的。
我的方法是这样的。前台的。
<asp:Button ID="Button2" CommandName="delete" runat="server" Text="删除" />
后台的。
protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{
int id = int.Parse((e.Item.FindControl("Label1") as Label).Text);
}