在GridView的模版列中动态添加一个button,然后给button动态添加单击事件,请问该怎么实现

解决方案 »

  1.   

    找到那个按钮,双击,获取在Page_Load函数中
    this.Button.click+=new EventHandle(你自己定义的方法名);
    但是这个方法的签名必须和EventHandle这个委托的签名一样。
      

  2.   

     if (((TextBox)e.Row.FindControl("txtckj")) != null)
            {
                UpdatePanel UpdatePanel = (UpdatePanel)e.Row.FindControl("UpdatePanel1");     
                     TextBox TextBox = (TextBox)e.Row.FindControl("txtckj");    
                string ymbh = ((Label)e.Row.FindControl("lblymbh")).Text;
                string sql;
                sql = " SELECT dj from YMJG 
                DataSet ds;
                ds = SqlHelper.DataSet(SqlHelper.connectionString, CommandType.Text, sql);     
                for(int i=0;i<=ds.Tables[0].Rows.Count-1;i++)
                {
                    LinkButton lbtn = new LinkButton();
                    lbtn.ID = ymbh + i.ToString();
                    lbtn.Text = ds.Tables[0].Rows[i]["dj"].ToString();
                    lbtn.Click += delegate { txtymmc.Text = "dfd"; };
                    lbtn.CssClass = "link";                
                    Panel1.Controls.Add(lbtn);
                    AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
                    trigger.ControlID = lbtn.ID;
                    trigger.EventName = "Click";
                    UpdatePanel.Triggers.Add(trigger);
                }
            }我代码是这样的,LinkButton 单击时,并没有去执行txtymmc.Text = "dfd";