处理运行时添加的控件事件

时间:2009-07-06 16:06:28

标签: asp.net

我在运行时使用conrolplace holder动态添加控件。我想添加按钮并处理他们的活动。他们会做同样的事情,但有不同的参数。这是代码示例:

while (dataReader.Read())
{
      Button edit = new Button();

      PlaceHolderQuestions.Controls.Add(edit);
}

我需要处理按钮的事件。感谢

2 个答案:

答案 0 :(得分:4)

有几件事:

首先,您需要确保在Page.OnInit事件中添加新控件,以便在处理引发事件之前添加它们。

它们还需要在回发中再次添加!

他们还需要一个唯一的ID集。

最后,您可以像处理任何C#应用程序一样处理事件:

edit.Click += new EventHander(EditButton_Click);

以及稍后的代码:

protected void EditButton_Click(object sender, EventArgs e)
{
  // Do Something
}

答案 1 :(得分:0)

您可以创建一个方法,然后添加:

edit.Click += YourMethodName;

只要在引发事件处理程序之前在回发上创建相同的按钮,事件就会触发。