나는 ASP에서 DropDownList와 국가, 주 및 도시를 바인딩하려고합니다. VB.NET을 사용하는 NET. 문제는 내가 국가를 선택할 때 국가와 관련된 국가 목록을 표시하지 않는다는 것입니다. 나는 데이터베이스에 대한 MS 액세스 2003을 사용, 여기에 & 코드ASP의 DropDownList를 사용하여 국가,시 /도를 바인딩합니다. NET을 사용하여 VB.NET
Country Table
내 테이블 테이블 나라 ( CountryID 지능 기본 키, COUNTRYNAME VARCHAR (30) )
CountryState 표를 작성
테이블 만들기 countryState ( StateID Int 주 키, CountryID Int 외래 키 참조 국가 (국가 ID), 주 VARCHAR (30) )
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
cnnOLEDB.ConnectionString = strConnectionString
If Not IsPostBack Then
Bind_ddlCountry()
End If
End Sub
Public Sub Bind_ddlCountry()
Dim cnnOLEDB As New OleDbConnection(strConnectionString)
cnnOLEDB.Open()
Dim cmd As New OleDbCommand("SELECT CountryID,CountryName FROM Country", cnnOLEDB)
Dim dr As OleDbDataReader = cmd.ExecuteReader()
ddlcountry.DataSource = dr
ddlcountry.Items.Clear()
ddlcountry.Items.Add("--Please Select country--")
ddlcountry.DataTextField = "CountryName"
ddlcountry.DataValueField = "CountryID"
ddlcountry.DataBind()
cnnOLEDB.Close()
End Sub
Public Sub Bind_ddlState()
Dim cnnOLEDB As New OleDbConnection(strConnectionString)
cnnOLEDB.Open()
'Dim cmd As New OleDbCommand("SELECT StateID, State FROM CountryState", cnnOLEDB)
Dim cmd As New OleDbCommand("SELECT StateID, State FROM CountryState WHERE CountryID='" & ddlcountry.SelectedValue & "'", cnnOLEDB)
Dim dr As OleDbDataReader = cmd.ExecuteReader()
ddlstate.DataSource = dr
ddlstate.Items.Clear()
ddlstate.Items.Add("--Please Select state--")
ddlstate.DataTextField = "State"
ddlstate.DataValueField = "StateID"
ddlstate.DataBind()
cnnOLEDB.Close()
End Sub
Protected Sub ddlcountry_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ddlcountry.SelectedIndexChanged
Bind_ddlState()
End Sub
감사합니다. 정말 고마워요. – user692495
이 문제가 해결 되었습니까? – CoderMarkus
예,이 문제를 해결하십시오. – user692495