如何为动态控件编写事件处理程序?

时间:2012-01-05 12:50:34

标签: c# dynamic

实际上我正在动态地使用for循环在表格中创建两个文本框和两个按钮。现在我想为这两个按钮编写事件处理程序,以便在单击按钮时,相应texbox内的文本应显示在新标签中。还告诉我为什么在回发后单击按钮所有动态控件都会消失。请用一些好的例子来解释。

1 个答案:

答案 0 :(得分:1)

protected void Page_Load(object sender, EventArgs e)
{
    .
    .
    Button Button1= new Button();
    Button1.ID = "button1";
    Button1.Text = "Button";
    Button1.Click+=new EventHandler(Button1_Click);
    this.form1.Controls.Add(Button1);
    .
    .
}

和处理程序方法就像这样

protected void Button1_Click(object sender, EventArgs e)
{ 
    //
}

回发后所有按钮消失的原因是,Page_Load事件中不再创建这些控件。

这些控件最初不在页面标记中,而在回发时,由于无状态转移,动态创建的标记将不会被保留

浏览ASP.NET Page life cycle了解更多信息