簡體   English   中英

ListView itemcommand事件在IE8中不起作用

[英]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中卻無法正常運行。

在回答我的問題之前,我想知道為什么要在LinkBut​​ton中嵌入一個CheckBox? 那可能是您問題的一部分。

至於眼前的實際問題,由於LinkBut​​ton會觸發命令,因此您應該能夠將OnCommand事件處理程序直接添加到LinkBut​​ton中。 如果需要行索引,請將其作為您的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM