asp.net - 中继器中的下拉列表,选定的索引更改后不起作用

标签 asp.net vb.net drop-down-menu repeater selectedindexchanged

我有一个带有下拉列表的中继器。当用户更改其索引时,我希望标签可以更改其值。 (ddlSizes 值来自 MySQL DB)

尺寸.aspx

<asp:DropDownList ID="ddlSizes" runat="server" AutoPostBack="True" DataSourceID="objdsSizes"  DataTextField="SizeName" DataValueField="SizeID" />

<asp:Label ID="lbldummy" runat="server" Text=""></asp:Label>

Sizes.aspx.vb

Protected Sub ddlSizes_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlSizes.SelectedIndexChanged
    lbldummy = ddlSizes.value
End Sub

但是 ddlSizes.SelectedIndexChanged 无法识别。所以lbldummy的值不会改变。

有什么建议吗?谢谢。

最佳答案

您需要为 DropDownList 创建处理程序,其中您需要具有将发送者转换为 DropDownList 的代码,然后获取父控件并转换将其放入 RepeaterItem 中。然后您可以从中引用 RepeaterItem

中的任何其他控件
Public Sub ddlSizes_SelectedIndexChanged(sender As Object, e As EventArgs)
    Dim ddlSizes As DropDownList = DirectCast(sender, DropDownList)
    Dim ri As RepeaterItem = DirectCast(ddlSizes.Parent, RepeaterItem)
    Dim lbldummy As Label = DirectCast(ri.FindControl("lbldummy"), Label)
    lbldummy.Text = ddlSizes.SelectedValue
End Sub

然后在您的 ddlSizes DropDownList 上添加 OnSelectedIndexChanged="ddlSizes_SelectedIndexChanged" 并确保其已设置 AutoPostBack="True"

关于asp.net - 中继器中的下拉列表,选定的索引更改后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6061857/

相关文章:

asp.net - 使用表单例份验证时获取 Windows 用户 ID

c# - 将 MVC2 aspx 项目转换为使用 MVC3 Razor View 引擎

vb.net - 用于 Visual Studio 2013 的 Crystal 报表 8

database - 在 vb.net 中显示/检索来自 sql 数据库的图像

Flutter DropdownButtonFormField 正在扩展但不应该扩展

c# - 使用 C# asp.net/Net 4.7 为 HA 缓存大对象

c# - 模拟类和接口(interface)之间有什么区别?

javascript - 如何从 vb.net 代码调用 javascript 函数?

css - 如何为 facebook、google Plus 等帖子添加单独的选项菜单

html css 下拉菜单帮助使它出现和消失