ASP.NET 2.0动态添加OnSelectedIndexChanged

时间:2013-04-10 13:36:45

标签: asp.net vb.net

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

 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()

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

我知道Web服务器控件也是在服务器上创建的,它们需要runat =“server”属性才能工作。

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

2 个答案:

答案 0 :(得分:4)

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

Dim ddl As New DropDownList()
' ... ' 
AddHandler ddl.SelectedIndexChanged, AddressOf do_this_when_changed  

在这堂课中:

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

答案 1 :(得分:0)

你可以使用这个活动......

ddl.SelectedIndexChanged