Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在vb.net中创建事件控件。具有相同ID的多个控件';1';被发现_Asp.net_Vb.net_Events_Event Handling - Fatal编程技术网

Asp.net 在vb.net中创建事件控件。具有相同ID的多个控件';1';被发现

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,

我正在尝试在页面加载上创建按钮,并对这些按钮使用事件控件。我可以创建按钮,但当单击按钮时,事件似乎不会被触发,相反,它会抛出一个错误,说明找到了多个id为的控件。我认为这与按钮的回发和唯一id创建有关。有没有人能告诉我,这件事还需要补充什么

 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

我尝试初始化一个计数器,并在每次调用子例程时递增它。但我还是犯了同样的错误。还有其他想法吗?请检查我的更新答案,希望能解决您的疑问。如果有效,请将答案标记为谢谢:)