ASP.NET 中的级联下拉列表






1.11/5 (8投票s)
使用 MYSQL 数据库的 ASP.NET 级联下拉列表
引言
这段代码实现了级联下拉列表,帮助你了解下拉列表如何级联,代码是如何编写的,以及如何从数据库中向下拉列表添加项目。
使用代码
以下代码展示了当第一个下拉列表的选定文本发生变化时,第二个下拉列表会立即加载。这在用户拥有一些超级类别,并且在选择超级类别后需要显示相应的子类别时很有用。
在下面的代码中,MySQL 连接字符串被赋值给一个变量,并且我使用了 ODBC 来建立与数据库和表的连接。下拉列表1中的数据会自动填充,并且在选择第一个下拉列表后,第二个下拉列表会借助 “Do while” 语句填充数据,数据会持续添加,直到条件为假。
Protected Sub country_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles country.SelectedIndexChanged Dim myreader As Odbc.OdbcDataReader Dim ConnStr As String = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=TaxPRo;uid=root;pwd=password;option=3" Dim con As OdbcConnection = New OdbcConnection(ConnStr) Dim cmd As OdbcCommand = New OdbcCommand("select * from states where country_id=" & country.SelectedValue & " order by state_name", con) con.Open() myreader = cmd.ExecuteReader() Do While myreader.Read() state.Items.Add(New ListItem(myreader("state_name"), myreader("country_id"))) Loop myreader.Read() state.DataValueField = ("country_id") End Sub <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.Odbc" %>
如果你正在使用 ODBC,请记住导入这些命名空间。
作者
Avinash Desai