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