ASP.NET 2.0动态添加OnSelectedIndexChanged

AAH*_*oot 0 vb.net asp.net

我有一个 DropDownList() ,它在我的代码隐藏中呈现并由 myView 填充

 Dim ddl As New DropDownList()
 ddl.ID = "ddlV_" & dtrw("col_id") & "_" & fixDisplayName(dtrw("display_name"))
 ddl.DataSource = myView
 ddl.DataTextField = "DDLTEXT"
 ddl.DataValueField = "DDLVALUE"
 ddl.AutoPostBack="true"

 ddl.DataBind()
Run Code Online (Sandbox Code Playgroud)

我想OnSelectedIndexChanged ="do_this_when_changed"向上面的下拉列表添加属性。

我确实了解 Web 服务器控件也是在服务器上创建的,并且它们需要 runat="server" 属性才能工作。

这个列表控件可以这样做吗?

Tim*_*ter 5

您可以使用以下命令以编程方式添加事件处理程序AddHandler

Dim ddl As New DropDownList()
' ... ' 
AddHandler ddl.SelectedIndexChanged, AddressOf do_this_when_changed  
Run Code Online (Sandbox Code Playgroud)

在本课程中:

Private Sub do_this_when_changed(sender As Object, e As EventArgs)
    Dim ddl = DirectCast(sender, DropDownList) ' here it is'
End Sub
Run Code Online (Sandbox Code Playgroud)