Asp.net 在vb.net中创建事件控件。具有相同ID的多个控件';1';被发现
我正在尝试在页面加载上创建按钮,并对这些按钮使用事件控件。我可以创建按钮,但当单击按钮时,事件似乎不会被触发,相反,它会抛出一个错误,说明找到了多个id为的控件。我认为这与按钮的回发和唯一id创建有关。有没有人能告诉我,这件事还需要补充什么Asp.net 在vb.net中创建事件控件。具有相同ID的多个控件';1';被发现,asp.net,vb.net,events,event-handling,Asp.net,Vb.net,Events,Event Handling,我正在尝试在页面加载上创建按钮,并对这些按钮使用事件控件。我可以创建按钮,但当单击按钮时,事件似乎不会被触发,相反,它会抛出一个错误,说明找到了多个id为的控件。我认为这与按钮的回发和唯一id创建有关。有没有人能告诉我,这件事还需要补充什么 Sub createbutton() Dim but As New Button but.Text = "save" but.ID = "but" AddHandler but.Click,
Sub createbutton()
Dim but As New Button
but.Text = "save"
but.ID = "but"
AddHandler but.Click, AddressOf Button_Click
Me.form1.Controls.Add(but)
End Sub
此事件的事件控件如下所示
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
' Handle your Button clicks here
MsgBox("done")
End Sub
我得到了错误
Multiple controls with the same ID '1' were found
子例程createbutton在页面加载时工作如下
Public Class Default3
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load ' to gen page on load ;)
createbutton()
End Sub
非常感谢您的帮助,谢谢:)我认为您是一位使用VB6.0进行大量工作的人 控件数组功能在VB6.0中可用 在VB.net中,一切都取决于控件ID 若你们并没有像ID应该是相同的具体要求,那个么我建议请附加前缀和增量ID将解决你们的问题 如果您有一些具体要求,请告诉我 谢谢 阿西夫 更正了代码,而不是允许唯一性的ID名称
Public Class Form1
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
' Handle your Button clicks here
MsgBox("done")
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
createbutton()
End Sub
Sub createbutton()
Dim but As New Button
but.Text = "save"
but.Name = "but"
AddHandler but.Click, AddressOf Button_Click
Me.Controls.Add(but)
End Sub
End Class
我尝试初始化一个计数器,并在每次调用子例程时递增它。但我还是犯了同样的错误。还有其他想法吗?请检查我的更新答案,希望能解决您的疑问。如果有效,请将答案标记为谢谢:)