我有一些代码,涉及动态创建新的按钮,当用户点击一个特定的按钮。但是,为这些动态创建的按钮定义的EventHandlers在我单击其中任何一个按钮时都不会执行。下面是错误的代码片段:
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()。我是不是做错了什么?
发布于 2009-06-30 01:12:38
尝试将LinkButton btn2声明为全局变量,并连接事件btn2。创建控件时,单击+= EventHandler(this.btn2_Click)。
发布于 2009-06-30 01:15:25
一旦您离开btn1事件处理程序,btn2就会消失。它是一个局部变量,一旦超出作用域,它就会消失。
你见过第二个按钮吗?你点击了吗?如果是这样,那么您点击了错误的按钮。您添加的这一条从未出现在您的页面上。
为了使控件变为可见(并呈现为HTML),必须将其放在可见控件的Controls集合中。你不能用它做任何事。
https://stackoverflow.com/questions/1061303
复制相似问题