我有一些代码涉及在用户点击特定按钮时动态创建新按钮。但是,当我单击其中任何一个按钮时,为这些动态创建的按钮定义的EventHandler不会执行。以下是错误的代码段:
protected void Page_Load(object sender, EventArgs e)
{
.......
btn1.Click += new EventHandler(this.btn1_Click);
.......
}
protected void btn1_Click(object sender, EventArgs e)
{
.......
LinkButton btn2 = new LinkButton();
btn2.Click += new EventHandler(this.btn2_Click);
.........
}
protected void btn2_Click(object sender, EventArgs e)
{
.......
}
代码执行永远不会进入btn2_Click()。我在这里做错了吗?
答案 0 :(得分:1)
尝试将LinkButton btn2声明为全局变量,并在创建控件时连接事件btn2.Click + = new EventHandler(this.btn2_Click)。
答案 1 :(得分:0)
btn2
消失。它是一个局部变量,一旦超出范围就会消失。
你见过第二个按钮吗?你点击了吗?如果是这样,那么你点击了错误的按钮。你添加的这个从未出现在你的页面上。
为了使控件可见(并呈现为HTML),它必须放在可见控件的Controls集合中。你没有做任何事情。