我有 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/