如何将事件处理程序添加到重复出现的 DropDownList

How to add an event handler to a recurring DropDownList

我在 ASP.Net/VB.NET 中的一个网站上工作,该网站具有重复设计 - 用户必须为几个不同的主题输入相同类型的数据。

我无法让 .SelectedIndexChange 为我的应用程序工作。我想使用 JavaScript/JQuery 来实现它。

这是我现在拥有的代码,它不起作用。不会抛出任何错误,但永远不会调用 AppChange() 方法。

List.Items.Add("Choose...")
List.Items.Add("Yes")
List.Items.Add("No")
'List.AutoPostBack = True
'AddHandler List.SelectedIndexChanged, AddressOf ListChange

请注意,我已将最后两行注释掉,因为我正在尝试其他操作。

Dim ListID = String.Concat("ListOption", DBReader("nListID"))
List.ID = ListID
AddHandler List.SelectedIndexChanged, AddressOf ListChange
                                d.Controls.Add(List)

这里是更改事件的方法

Protected Sub ListChange(sender As Object, e As EventArgs)
        Label1.Text = "It worked"

    End Sub

源代码如下所示...

<td align="right" style="font-family:Calibri;">Options</td><td></td><td><select name="ListOption1" id="ListOption1" style="width:230px;">

很明显有些东西没有注册,我不太确定是什么。

您是否尝试过为您的潜艇添加处理程序?

Private Sub ListChange(sender As Object, e As EventArgs) Handles ListChange.SelectedIndexChanged

    Label1.Text = "It worked"

End Sub

我的开发导师帮助我完成了这项任务。

在 .aspx 文件中,您可以像这样添加函数

<script type="text/javascript">
    function Change(value, id)
    {
        alert("It worked");
    }
</script>

并且在 .aspx.vb 文件中,

List.Attributes.Add("onchange", "javascript:Change(this.value, this.id)")