[英]ListView itemcommand event not working in IE8
<asp:ListView ID="lsvLanguage" runat="server"
ItemPlaceholderID="itmHolder"
OnItemCommand="lsvLanguage_ItemCommand">
<LayoutTemplate>
<asp:PlaceHolder ID="itmHolder" runat="server">
</asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<div class="form_fields" style="width: 3%; padding-top: 0;">
<asp:LinkButton ID="lbtnCommand" runat="server"
CommandName="Language">
<asp:CheckBox ID="chkLanguage" CssClass="styled"
Checked='<%#Eval("IS_DEFAULT") %>'
runat="server" />
</asp:LinkButton>
</div>
<div class="form_fields" style="width: 10%;">
<asp:Label ID="lblDetailId" Visible="false" runat="server"
Text='<%#Eval("PARAM_DETAIL_ID") %>'>
</asp:Label>
<asp:Label ID="lblLanguage" runat="server"
Text='<%#Eval("PARAM_VALUE") %>'>
</asp:Label>
<asp:Label ID="lblLanguageKey" runat="server"
Text='<%#Eval("PARAM_KEY") %>' Visible="false">
</asp:Label>
</div>
</ItemTemplate>
</asp:ListView>
我上面的列表控件帶有itemcommand事件。 在Firefox和Chrome中運行正常,但在Internet Explorer 8中卻無法正常運行。
在回答我的問題之前,我想知道為什么要在LinkButton中嵌入一個CheckBox? 那可能是您問題的一部分。
至於眼前的實際問題,由於LinkButton會觸發命令,因此您應該能夠將OnCommand事件處理程序直接添加到LinkButton中。 如果需要行索引,請將其作為您的commadn參數傳遞,如下所示:
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Language" CommandArgument='<%#Container.ItemIndex%>' OnCommand="LinkButton1_Command" ...>
然后在您的代碼后面:
protected void LinkButton1_Command(object sender, CommandEventArgs e)
{
GridViewRow row = GridView1.Rows[(int)e.CommandArgument];
if (row != null)
{
//do some logic on the row
}
//do some other logic outside of the row
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.