Asp.net - 从数据库创建 2 个链接的下拉列表

标签 asp.net database drop-down-menu

我有 2 个链接的数据库表(类似于国家/地区 -> 州)- 我如何使用这些表动态填充 2 个下拉列表,以便:

如果我选择一个国家/地区,只有该国家/地区的州会显示在第二个下拉列表中吗?

更新: 此页面上似乎有解决方案 -> Populate DropdownList based upon other DropDownList VB -> 在 aspx 页面本身上使用 SQL 数据连接,对下拉列表进行数据绑定(bind)的那个 - 我如何使用 LINQ 执行此操作?我想我可以从这里弄清楚。

最佳答案

您隐藏了状态控制,并且在您的国家/地区下拉列表中设置了 autopostback = true。

在 SelectedIndexChanged 上,您提取该值并使用该值查询您的数据库,然后将您的状态下拉列表设置为可见。

在 ASPX 页面中:

<asp:DropDownList ID="CountryDD" runat="server" AutoPostBack="true" OnSelectedIndexChanged="CountryDD_IndexChanged" />

<asp:DropDownList ID="StateDD" runat="server" Visible="false"/>

在代码背后:

Protected Sub CountryDD_IndexChanged(ByVal sender As Object, ByVal e As EventArgs)
    StateDD.Items.Clear()
    Using conn As SqlConnection = New SqlConnection("Connection String")
        conn.Open()
        Using cmd As SqlCommand = New SqlCommand("get_states_by_country", conn)
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.AddWithValue("@country_id", CountryDD.SelectedValue)
            Using dr As SqlDataReader = cmd.ExecuteReader()
                StateDD.Items.Add(New ListItem(dr("state_name").ToString(), dr("state_id")))
            End Using
        End Using
    End Using
End Sub

关于Asp.net - 从数据库创建 2 个链接的下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1307979/

相关文章:

c# - 可以结合 C#.net、VB.net 和 ASP.net 吗?

mysql - 在 GROUP BY 子句中返回空行

sql - 如何存储变量字段?

javascript - 从 Javascript GPS 代码插入数据库

html - 如何对标题中的下拉菜单进行 z 索引?

c# - 计算两个日期之间的天数并将其显示在标签中

javascript - 使用 CheckBox 启用 CheckBoxList? - ASP.NET

asp.net - 使用 MySql 中的存储过程更新 2 个表

html - Bootstrap 下拉菜单链接不会与导航栏中的其余链接对齐

jquery - 在特定点显示div(下拉菜单样式),跨浏览器,跨分辨率