0
我有一个数据列表内的超链接和一个隐藏字段如下所示的DataList SelectedIndexChange事件不触发
<asp:DataList ID="clientsList" runat="server" OnSelectedIndexChanged="clientsList_SelectedIndexChanged1" >
<ItemTemplate>
<asp:HyperLink ID="hlName" runat="server" Text='<%# Bind("Name") %>' NavigateUrl="#" ></asp:HyperLink>
<asp:HiddenField ID="HiddenFieldID" runat="server" Value='<%# Eval("ID") %>' />
</ItemTemplate>
</asp:DataList>
当用户点击任何超链接,我需要该值存储在应用程序的变量。但SelectedIndexChange
事件永远不会触发。
这是我的代码:
protected void clientsList_SelectedIndexChanged1(object sender, EventArgs e)
{
int idx = clientsList.SelectedIndex;
HiddenField hiddenCID = clientsList.Items[idx].FindControl("HiddenFieldID") as HiddenField;
if (hiddenCID != null)
{
Logger.UpdateLog("Selected ID: " + hiddenCID.Value.ToString());
}
}
我绑定数据库数据到DataList在Page_load
事件如下,这是工作的罚款。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindDataList();
}
}
任何想法为什么这个事件永远不会被解雇?
而且是我的代码是正确的,只要能够关注访问hiddenfield
价值?
我认为你必须使用linkbutton并在数据绑定中绑定Url。 – 2014-09-22 18:25:15
超链接没有“commandName”属性\属性。那么,如果没有“CommandName”属性,我们就无法访问数据列表中控件的数据? – user117048 2014-09-22 18:26:42