我在運行時使用一個conrolplace holder來動態添加控件。我想添加按鈕並處理他們的事件。他們會做同樣的事情,但具有不同的參數。這裏是一個代碼示例:處理運行時添加的控件的事件
while (dataReader.Read())
{
Button edit = new Button();
PlaceHolderQuestions.Controls.Add(edit);
}
我需要處理按鈕事件。由於
我在運行時使用一個conrolplace holder來動態添加控件。我想添加按鈕並處理他們的事件。他們會做同樣的事情,但具有不同的參數。這裏是一個代碼示例:處理運行時添加的控件的事件
while (dataReader.Read())
{
Button edit = new Button();
PlaceHolderQuestions.Controls.Add(edit);
}
我需要處理按鈕事件。由於
幾件事情:
首先,你需要確保新的控件都在Page.OnInit事件增加,從而使被處理的引發的事件之前,它們被添加。
他們還需要在回發中再次添加!
他們還需要有一個唯一的ID集。
最後,你可以處理該事件就像你在任何C#應用程序將:
edit.Click += new EventHander(EditButton_Click);
,並在後面的代碼:
protected void EditButton_Click(object sender, EventArgs e)
{
// Do Something
}
您只需創建一個方法,然後添加:
edit.Click += YourMethodName;
只要在同一按鈕上回發創建的事件處理程序上升之前,該事件將觸發。
THX的男人。但我應該在哪裏寫這行? edit.Click + = new EventHander(EditButton_Click);在按鈕 – 2009-07-06 16:36:54
+1的聲明中爲「確保新的控件添加在Page.OnInit事件中」......很多人對此錯誤 – Juri 2009-07-06 16:13:37