在VB.NET的WebForms中,要获取用户单击了哪个动态添加的按钮,可以通过以下步骤实现:
下面是一个示例代码:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' 动态创建按钮
Dim btn1 As New Button()
btn1.ID = "btn1"
btn1.Text = "按钮1"
AddHandler btn1.Click, AddressOf DynamicButton_Click
PlaceHolder1.Controls.Add(btn1)
Dim btn2 As New Button()
btn2.ID = "btn2"
btn2.Text = "按钮2"
AddHandler btn2.Click, AddressOf DynamicButton_Click
PlaceHolder1.Controls.Add(btn2)
End Sub
Protected Sub DynamicButton_Click(ByVal sender As Object, ByVal e As EventArgs)
' 获取触发事件的按钮的ID
Dim clickedButton As Button = DirectCast(sender, Button)
Dim clickedButtonID As String = clickedButton.ID
' 根据按钮ID执行相应的逻辑
Select Case clickedButtonID
Case "btn1"
' 处理按钮1的逻辑
Exit Select
Case "btn2"
' 处理按钮2的逻辑
Exit Select
Case Else
' 处理其他按钮的逻辑
Exit Select
End Select
End Sub
在上述示例中,我们通过在Page_Load
事件中动态创建了两个按钮,并为每个按钮添加了相同的事件处理程序DynamicButton_Click
。在DynamicButton_Click
事件处理程序中,我们通过sender
参数获取触发事件的按钮对象,并从中获取按钮的ID。然后,我们可以根据按钮的ID执行相应的逻辑。
这种方法可以适用于在VB.NET的WebForms中动态添加任意数量的按钮,并能够准确地确定用户单击了哪个按钮。
领取专属 10元无门槛券
手把手带您无忧上云