当前位置: 代码迷 >> Delphi >> 动态生成多个button并触发该事件 急解决方法
  详细解决方案

动态生成多个button并触发该事件 急解决方法

热度:8996   发布时间:2013-02-25 00:00:00.0
动态生成多个button并触发该事件 急!急!急!!!
在asp.net中,在指定位置动态生成了多个button,怎么样获取他所对应的ID
我的做法是:
在页面上 <asp:PlaceHolder runat="server" ID="Place" ></asp:PlaceHolder>
后台:  for (int i = 0; i < 6; i++)
            {
                    Button btn = new Button();
                    btn.Text = “按钮”+i;
                    btn.Click += new EventHandler(btn_Click);
                    btn.Width = 60;
                    Place.Controls.Add(btn);
              }
 void btn_Click(object sender, EventArgs e)
{   触发相应的事件       }
当我点击动态生成的按钮时,只能得到最后一个的值,如果把上面这段代码放在!IsPostBack中,点击时就不显示按钮了,请问高手怎么解决!非常谢谢
------解决方案--------------------------------------------------------
你是不是有其它 操作了。我写了测试代码没有问题啊

PlaceHolder1

   override protected void OnInit(EventArgs e)
    {
          for (int i = 0; i < 6; i++)
          {
              Button btn = new Button();
              btn.Text = "Button " + i;
              btn.Click += new EventHandler(btn_Click);
              btn.Width = 60;
              btn.ID = "testbutton" + i.ToString();
              PlaceHolder1.Controls.Add(btn);
          }
    }

    void btn_Click(object sender, EventArgs e)
    {
        Button btn = sender as Button;
        if (btn != null)
            Label1.Text = "text: " + btn.Text +" id: " + btn.ID;
        else
            Label1.Text = "not button";
            
    }
  相关解决方案