动态添加的按钮使 post 返回登录页面

A dynamically added button makes post back to login page

为了动态添加一个按钮,我在 LoginButton_Click sub

中使用了以下代码
Dim ModeratorButton As New Button
AddHandler ModeratorButton.Click, 
AddressOf Me.ModeratorButton_Click
With ModeratorButton
 .ID = "ModeratorButton"
 .Attributes("OnClientClick") = "ModeratorButton_Click"
 .CssClass = "ModeratorButton"
 .Text = "Ενημέρωση"
End With
MessagesPanel.Controls.Add(ModeratorButton)

我还有一个受保护的子来处理事件

 Private Sub ModeratorButton_Click(ByVal sender As Object, ByVal e As EventArgs)

End Sub

由于所有这些,我收到了正常页面
有了我想要的面板和我需要的控件。
当我按下 ModeratorButton 并且代码永远不会转到我之前提到的 protected sub 时,问题就开始了
相反,它使 post 回到 LoginPage

有人可以帮助我吗?

回发后需要再次添加处理程序。

比如像这样。

Private Sub _Default_Load(sender As Object, e As EventArgs) Handles Me.Load
    If Request.Form("LoginButton") IsNot Nothing Or
       Request.Form("ModeratorButton") IsNot Nothing Then
        Dim ModeratorButton As New Button
        With ModeratorButton
            .ID = "ModeratorButton"
            .Attributes("OnClientClick") = "ModeratorButton_Click"
            .CssClass = "ModeratorButton"
            .Text = "Ενημέρωση"
        End With
        AddHandler ModeratorButton.Click, AddressOf Me.ModeratorButton_Click
        MessagesPanel.Controls.Add(ModeratorButton)
    End If
End Sub

Private Sub ModeratorButton_Click(sender As Object, e As EventArgs)

End Sub

https://support.microsoft.com/en-us/help/317794/how-to-dynamically-create-controls-in-asp-net-by-using-visual-c-net

Note When you create dynamic controls on a Web Form, the controls must be created and added to the controls collection either in the OnInit or in the Page_Load events. Otherwise, the controls behave unexpectedly.