日期:2014-05-18  浏览次数:20525 次

我希望动态添加5个Button,然后调用一个Click方法,已经定义好了,请问为什么不执行其事件中的代码,谢谢指点
private void addButtons()
  {
  for (int i = 1; i <= 5; i++)
  {  
  Button btn = new Button();
  btn.ID = "btn" + i.ToString();
  btn.Text = "btn" + i.ToString();
  btn.Click +=new EventHandler(btn_Click);  
  this.form1.Controls.Add(btn);
  }
  }  

  protected void btn_Click(object sender, EventArgs e)
  {  
  Button btn = (Button)sender
  Response.Write(btn.Text);  
  }

------解决方案--------------------
试过你的代码,没有问题,能执行,看看是不是其他地方有问题
------解决方案--------------------
Button btn = (Button)sender 少分号
for (int i = 1; i <= 5; i++) 
{
Button btn = new Button(); 
btn.ID = "btn" + i.ToString(); 
btn.Text = "btn" + i.ToString(); 
btn.Click +=new EventHandler(btn_Click);
this.form1.Controls.Add(btn); 

放到pageload中试试
其他没问题,能运行