2016-10-21 71 views
2

我創造Page_PreRender功能的代碼,以動態創建一些標籤和按鈕:Click事件不能在VB.Net ASP.Net動態創建的按鈕被解僱

Dim btnExcludeDr As New Button() 
btnExcludeDr.ID = "btnExcludeDr" 
btnExcludeDr.Text = "Rate Driver" 
form1.Controls.Add(btnExcludeDr) 
AddHandler btnExcludeDr.Click, AddressOf Me.cmdExcludeDrv_Click 

而且必須觸發事件每個btnExcludeDr按鈕:

Protected Sub cmdExcludeDrv_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
    MsgBox("hello") 
End Sub 

但該事件不會觸發。你有任何解決方案?謝謝 !

回答

1

創建動態控件的最佳位置在頁面代碼隱藏類提供的Page_Init函數中。

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit 
    Dim btnExcludeDr As New Button() 
    btnExcludeDr.ID = "btnExcludeDr" 
    btnExcludeDr.Text = "Rate Driver" 
    form1.Controls.Add(btnExcludeDr) 
    AddHandler btnExcludeDr.Click, AddressOf Me.cmdExcludeDrv_Click 
End Sub 


Protected Sub cmdExcludeDrv_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
    MsgBox("hello") 
End Sub 
+0

非常感謝你 –

+0

Page_Load或Page_Init?我看到你在Page_Load中創建了它! –

+0

方法簽名並不重要 - 編譯器只關心'Me.PreInit'。我改變了方法簽名標籤來反映這一點。 – Esen

相關問題