65.9K
CodeProject 正在变化。 阅读更多。
Home

ASP.NET 中的级联下拉列表

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.11/5 (8投票s)

2008年2月14日

Ms-PL
viewsIcon

52776

downloadIcon

31

使用 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

© . All rights reserved.