areacontrol.ascx.vb

来自「C#语言制作asp.net网上商店的」· VB 代码 · 共 131 行

VB
131
字号
Imports NetShopForge.Library.Address
Partial Class Shop_Controls_AreaControl
    Inherits System.Web.UI.UserControl

#Region "---Property----"

    Public Property AreaID() As String
        Get
            '   If IsBind Then BindData(hfAreaID.Value)
            Return hfAreaID.Value
        End Get
        Set(ByVal value As String)

            hfAreaID.Value = value
            BindData(hfAreaID.Value)
        End Set
    End Property

    Public ReadOnly Property Province() As String
        Get
      
            Return hfProvince.Value


        End Get
    End Property

    Public ReadOnly Property City() As String
        Get
         
            Return hfCity.Value


        End Get
    End Property

    Public ReadOnly Property Area() As String
        Get
  
            Return hfArea.Value


        End Get
    End Property

#End Region


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            ddlProvince.Attributes.Add("onchange", "goCity();")
            ddlCity.Attributes.Add("onchange", "goArea();")
            ddlArea.Attributes.Add("onChange", "getAreaID();")
        End If
        BindData(hfAreaID.Value)
    End Sub

#Region "--Private Method---"


    Private Sub BindData(ByVal areaID As String)
        If ddlProvince.Items.Count = 0 Then LoadProvince()
        Dim provinceID, cityID As String
        If IsNothing(areaID) OrElse areaID.Length = 0 Then
            ddlProvince.SelectedIndex = 0
            LoadCity(ddlProvince.SelectedValue)
            LoadArea(ddlCity.SelectedValue)
            If ddlArea.Items.Count > 0 Then
                hfArea.Value = ddlArea.Items(0).Text
                hfAreaID.Value = ddlArea.Items(0).Value
            End If
            If ddlProvince.Items.Count > 0 Then hfProvince.Value = ddlProvince.Items(0).Text
            If ddlCity.Items.Count > 0 Then hfCity.Value = ddlCity.Items(0).Text
        Else
            provinceID = areaID.Substring(0, 2) & "0000"
            cityID = areaID.Substring(0, 4) & "00"
            ddlProvince.SelectedValue = provinceID
            hfProvince.Value = ddlProvince.SelectedItem.Text

            LoadCity(ddlProvince.SelectedValue)
            ddlCity.SelectedValue = cityID
            hfCity.Value = ddlCity.SelectedItem.Text

            LoadArea(ddlCity.SelectedValue)
            ddlArea.SelectedValue = areaID
            hfArea.Value = ddlArea.SelectedItem.Text
            hfAreaID.Value = areaID
        End If

    End Sub
    Private Sub LoadProvince()

        Dim objAC As New AreaController
        Using r As System.Data.IDataReader = objAC.GetProvinceList
            While r.Read
                ddlProvince.Items.Add(New ListItem(r("Province"), r("provinceID")))
            End While
        End Using

    End Sub
    Private Sub LoadCity(ByVal provinceID As String)
        Dim objAC As New AreaController
        Dim sCity As String = ""
        Dim citys As String() = objAC.GetCityString(provinceID).Split(",")
        Dim cityArea As String()
        ddlCity.Items.Clear()
        For Each sCity In citys
            cityArea = sCity.Split("|")
            If cityArea.Length > 1 Then
                ddlCity.Items.Add(New ListItem(cityArea(1), cityArea(0)))
            End If
        Next
    End Sub
    Private Sub LoadArea(ByVal provinceID As String)
        Dim objAC As New AreaController
        Dim sArea As String = ""
        Dim citys As String() = objAC.GetAreaString(provinceID).Split(",")
        Dim cityArea As String()
        ddlArea.Items.Clear()
        For Each sArea In citys
            cityArea = sArea.Split("|")
            If cityArea.Length > 1 Then
                ddlArea.Items.Add(New ListItem(cityArea(1), cityArea(0)))
            End If
        Next
    End Sub


#End Region
End Class

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?