2009-07-06 47 views
1

我在運行時使用一個conrolplace holder來動態添加控件。我想添加按鈕並處理他們的事件。他們會做同樣的事情,但具有不同的參數。這裏是一個代碼示例:處理運行時添加的控件的事件

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

     PlaceHolderQuestions.Controls.Add(edit); 
} 

我需要處理按鈕事件。由於

回答

4

幾件事情:

首先,你需要確保新的控件都在Page.OnInit事件增加,從而使被處理的引發的事件之前,它們被添加。

他們還需要在回發中再次添加!

他們還需要有一個唯一的ID集。

最後,你可以處理該事件就像你在任何C#應用程序將:

edit.Click += new EventHander(EditButton_Click); 

,並在後面的代碼:

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

+1的聲明中爲「確保新的控件添加在Page.OnInit事件中」......很多人對此錯誤 – Juri 2009-07-06 16:13:37

0

您只需創建一個方法,然後添加:

edit.Click += YourMethodName; 

只要在同一按鈕上回發創建的事件處理程序上升之前,該事件將觸發。

+0

THX的男人。但我應該在哪裏寫這行? edit.Click + = new EventHander(EditButton_Click);在按鈕 – 2009-07-06 16:36:54

相關問題