2016-05-05 21 views
0

Ich habe masterpage & Inhalt Seite. In Master-Seite habe ich DropDownList von Städten, die Städte aus der Datenbank abruft. Und in meiner Inhaltsseite lette ich DropDownList Of Areas, die ebenfalls aus der Datenbank stammen. Wenn nun Meine Stadt geändert wird, sollte auch der Wunschbereich, der sich auf die ausgewählte Stadt bezieht, geändert werden. Ich habe meine DB-Tabellen richtig verwalten & übergeben korrekte Abfrage als auch. Aber DropDownList Of Bereiche wird nicht aktualisiert, wenn City DropDownList geändert wird. Folgenden Code versuche ich.Erstellen Dropdownliste basierend auf ausgewählten Dropdown-Liste von Masterseite

Master

Private Sub MasterPage_Load(sender As Object, e As EventArgs) Handles Me.Load 
     Me.PopulateCities() 
     If Not IsPostBack Then 
      If Session("masterLocation") Is Nothing Then 
       Session("cityName") = "Pune" 
      Else 
       locationSelector.Text = Session("masterLocation").ToString() 
      End If 
     End If 
     locationPopupActivator.Text = locationSelector.SelectedValue.ToString 
    End Sub 

Private Sub PopulateCities() 
     Using conn As New MySqlConnection() 
      conn.ConnectionString = ConfigurationManager _ 
       .ConnectionStrings("conio").ConnectionString() 
      Using cmd As New MySqlCommand() 
       cmd.CommandText = "Select cityName from cities where status = 'active' order by cityName" 
       cmd.Connection = conn 
       conn.Open() 
       Using sdr As MySqlDataReader = cmd.ExecuteReader() 
        While sdr.Read() 
         Dim item As New ListItem() 
         item.Text = sdr("cityName").ToString() 
         item.Value = sdr("cityName").ToString() 
         'item.Selected = Convert.ToBoolean(sdr("IsSelected")) 
         locationSelector.Items.Add(item) 
        End While 
       End Using 
       conn.Close() 
      End Using 
     End Using 
    End Sub 

Content

Private Sub hospitals_PreRender(sender As Object, e As EventArgs) Handles Me.PreRender 
If Not IsPostBack Then 
     Me.PopulateAreas() 
End If 
End Sub 

Private Sub PopulateAreas() 
     areasList.Items.Clear() 
     Dim citySelector As RadioButtonList = Page.Master.FindControl("locationSelector") 
     Using conn As New MySqlConnection() 
      conn.ConnectionString = ConfigurationManager _ 
       .ConnectionStrings("conio").ConnectionString() 
      Using cmd As New MySqlCommand() 
       cmd.CommandText = "Select * from areas where areaCity like '" + citySelector.SelectedItem.ToString + "%'" 
       cmd.Connection = conn 
       conn.Open() 
       Using sdr As MySqlDataReader = cmd.ExecuteReader() 
        While sdr.Read() 
         Dim item As New ListItem() 
         item.Text = sdr("areaName").ToString() 
         item.Value = sdr("areaName").ToString() 
         'item.Selected = Convert.ToBoolean(sdr("IsSelected")) 
         areasList.Items.Add(item) 
        End While 
       End Using 
       conn.Close() 
      End Using 
     End Using 
     areasList.Items.Insert(0, New ListItem("All Area", "All")) 
    End Sub 

Antwort

0

Alles in Ihrem Code ist in Ordnung, nur Änderungen auf Pre_Render Veranstaltung Ihrer Content-Seite

If IsPostBack Then 
    Me.PopulateAreas() 
End If 

diese Änderungen vornehmen. Hoffe das wird dein Problem lösen.

Verwandte Themen