根据母版页中选定的下拉列表创建下拉列表

时间:2016-05-05 05:45:32

标签: asp.net vb.net master-pages

我有主页&内容页。在主页面中,我有从城市数据库中获取城市的城市DropDownList。在我的内容页面中,DropDownList Of Areas也来自数据库。现在假设如果我的城市发生了变化,那么与该特定城市相关的愿望区域也应该改变。我已正确管理我的数据库表&传递正确的查询。但是如果City DropDownList发生更改,则DropDownList Of区域不会刷新。以下代码我正在尝试。

母版

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

ContentPage

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

1 个答案:

答案 0 :(得分:0)

代码中的所有内容都可以,只需在内容页面的Pre_Render事件中进行更改

 $scope.button1 = {
                    onClick : resetFn,
                    elementText : "Reset",
                    extradata : "hello"
                };

<button  name="{{button1.extradata}}" type="button" ng-click="footer.onClick()">{{button1.elementText}}</button>

进行此更改。希望这能解决你的问题。