繁体   English   中英

动态创建的链接按钮Click事件未触发

[英]Dynamically Created Link Button Click event not firing

我有一个GridView。在此GridView中,我们正在动态生成column。 我们还将GridView中的Autogenerate列设置为true。 现在的问题是我正在向该列中动态添加linkbutton。

问题 :链接按钮单击不起作用。正在做回发,所有链接都消失了。我尝试添加命令和click事件,但是它们都不起作用。 任何帮助,将不胜感激。

背后的代码

     protected void GridViewTest_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.DataItem != null && e.Row.RowType == DataControlRowType.DataRow)
            {



                      for (int i = 0; i < e.Row.Cells.Count; i++)
                    {

                         LinkButton link = new LinkButton();


                         link.Text = e.Row.Cells[i].Text;

                         link.EnableViewState = true;
                          link.Click += new EventHandler(onLinkClick);

                         e.Row.Cells[i].Controls.Add(link);                  

                     }
                 }
            }



  protected void onLinkClick(object sender, EventArgs e)
        {
            this.ModalPopupExtender1.Show();
        } 

ASPX

 <asp:GridView
                            ID="GridViewTest"
                            runat="server"
                            AutoGenerateColumns="true"
                            CssClass="resultsTable"
                            Width="100%"
                            CellPadding="2"
                            CellSpacing="0"
                            GridLines="None"
                            autogenerateeditbutton="true"                                
                            OnRowDataBound="GridViewPullHistory_RowDataBound"
                            OnRowCreated="GridViewPullHistory_RowCreated">
                            <AlternatingRowStyle CssClass="gridRow1" HorizontalAlign="Center" />
                            <RowStyle CssClass="gridAltRow1" HorizontalAlign="Center" />
                            <HeaderStyle CssClass="gridHeader" Font-Bold="true"  HorizontalAlign="Right" />
                        </asp:GridView>

只需注册一个PostBack触发器(因为您使用的是UpldatePanel):

ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(link);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM