【问题标题】:GridView RowCommand Not Firing at all for image buttonGridView RowCommand 根本不触发图像按钮
【发布时间】:2016-06-01 12:12:08
【问题描述】:

我试图在我的 GridView 中单击图像按钮时触发 rowCommand 事件。 GridView 位于更新面板内。 但是在尝试了所有方法之后:

  • 启用视图状态,

  • IsPostback 上的绑定网格,

我无法得到确切的原因。

请在下面找到代码:

 <asp:GridView ID="grdReport" runat="Server" CellPadding="0" Height="50%" HeaderStyle-CssClass="dataHeadStyle"
               OnPageIndexChanging="grdReport_PageIndexChanging" CssClass="lblStyle" AutoGenerateColumns="false" ShowHeader="true" ShowFooter="false"
               GridLines="Both" Width="100%" AlternatingRowStyle-CssClass="dataAltRowStyle"
               RowStyle-CssClass="dataItemsStyle2" DataKeyNames="TRAINING_ID" AllowPaging="true"
               PageSize="7" OnRowCommand="grdReport_RowCommand" OnRowDataBound="grdReport_RowDataBound" EnableViewState="true">

      <Columns>
            <asp:TemplateField HeaderText="Select" ItemStyle-CssClass="dataItemsStyle1">
                <ItemStyle HorizontalAlign="Center" Width="7%" />
                <HeaderStyle HorizontalAlign="Center" />
                <ItemTemplate>
                      <asp:ImageButton ID="ImgSelect" runat="server" CausesValidation="false" ImageUrl="~/Images/edit_icon.gif"
                                  CommandName="select" CommandArgument='<%# Eval("TRAINING_NAME")+","+ Eval("TRAINING_DESCRIPTION")+","+ Eval("TRAINING_DUE_DATE")%> '/>
                </ItemTemplate>
                <ControlStyle CssClass="ViewHand" />
           </asp:TemplateField>



protected void grdReport_RowCommand(object sender, GridViewCommandEventArgs e)
{
    try
    {
        string TrainingInfo = e.CommandArgument.ToString();


        MS_RITBL objBL = new MS_RITBL();
        //string Mst_Report_Id = string.Empty;
        //string Report_ID = string.Empty;
        //string IsReportLocked = string.Empty;
        //string lockedBy = string.Empty;
        //string due_date = string.Empty;
        if (e.CommandName == "select")
        {
            //lnkReportID.Enabled = false;
            string strMst_Report_Id = Convert.ToString(e.CommandArgument);
            //Session["MST_REPORT_ID"] = Mst_Report_Id;
            //SetToolTip();
        }

    }
    catch (Exception)
    {

        throw;
    }
}

请帮忙。

【问题讨论】:

  • Binding Grid on IsPostback, 所以当IsPostback 为真或为假时,您正在绑定网格?在绑定gridview的地方添加代码
  • 实际上这个网格显示在 ajax:ModalPopupExtender 中,所以没有 ispostback 进入图片
  • 好的,但是您仍然应该在绑定它的地方发布代码。这可以提供一些想法
  • 设置更新面板的UpdateMode="Always"属性后尝试

标签: asp.net gridview rowcommand


【解决方案1】:

伙计们,问题是 ItemTemplate 中的标签意外地具有相同的 id,因此事件被阻塞了。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多