shippingaddresscontrol.ascx.vb
来自「C#语言制作asp.net网上商店的」· VB 代码 · 共 134 行
VB
134 行
Imports NetShopForge.Library.Cart
Imports NetShopForge.Library.Address
Imports System.Collections.Generic
Imports NetShopForge.Library.Shipping
Imports NetShopForge.Library.Payment
Imports NetShopForge.Common
Imports NetShopForge.Library.Order
Partial Class Shop_Cart_Controls_ShippingAddressControl
Inherits System.Web.UI.UserControl
Protected currentOrder As Order.OrderInfo = Nothing
#Region "---Public Property---"
Public Property SelectedAddress() As AddressInfo
Get
'return the entered text bits as an address
Dim address As New AddressInfo
address.Address1 = txtSAddress.Text
address.Country = "中国"
address.City = AreaControl1.City
address.FirstName = txtSName.Text
address.Phone = txtSPhone.Text
address.Zip = txtSPostCode.Text
address.Province = AreaControl1.Province
address.Area = AreaControl1.Area
address.AreaID = AreaControl1.AreaID
address.RegionID = CInt(ddlShippingRegion.SelectedValue)
Return address
End Get
Set(ByVal value As AddressInfo)
txtSAddress.Text = value.Address1
AreaControl1.AreaID = value.AreaID
txtSName.Text = value.FirstName
txtSPhone.Text = value.Phone
txtSPostCode.Text = value.Zip
Dim list As System.Web.UI.WebControls.ListItem = ddlShippingRegion.Items.FindByValue(value.RegionID)
If Not IsNothing(list) Then ddlShippingRegion.SelectedValue = list.Value
End Set
End Property
#End Region
#Region "---Event Method---"
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ValidatePage()
If Not IsPostBack Then
BindAddressList()
BindShippingRegion()
BindData()
End If
End Sub
Protected Sub dtAddresses_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles dtAddresses.ItemCommand
Dim lblID As Label = CType(e.Item.FindControl("lblAddressID"), Label)
If Not lblID Is Nothing Then
Dim shipAddressID As Integer = Integer.Parse(lblID.Text)
Dim shipAddress As AddressInfo
Dim objAC As New AddressController
shipAddress = objAC.GetAddress(shipAddressID)
Me.SelectedAddress = shipAddress
End If
End Sub
Protected Sub btnGoShippingMethod_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGoShippingMethod.Click
Profile.LastShippingAddress = SelectedAddress
Dim url As String = String.Format("~/Checkout.aspx?mode=shippingmethod")
My.Response.Redirect(url)
End Sub
#End Region
#Region "---Private Method---"
Private Sub BindData()
'bind default address
Dim address As AddressInfo = Profile.LastShippingAddress
If Not IsNothing(address) Then SelectedAddress = address
End Sub
''' <summary>
''' Bind User's Address book
''' </summary>
''' <remarks></remarks>
Private Sub BindAddressList()
Dim objAc As New Address.AddressController
dtAddresses.DataSource = objAc.GetAddressList(My.User.Name)
dtAddresses.DataBind()
' If dtAddresses.Items.Count = 0 Then dtAddresses.Caption = "没有地址列表"
End Sub
Private Sub BindShippingRegion()
Dim objSC As New ShippingController
ddlShippingRegion.DataTextField = "Name"
ddlShippingRegion.DataValueField = "ShippingRegionID"
ddlShippingRegion.DataSource = objSC.GetShippingRegionList
ddlShippingRegion.DataBind()
ddlShippingRegion.Items.Insert(0, New ListItem("<请选择配送区域>", ""))
End Sub
Private Sub ValidatePage()
'Page Validation
'1) Need items in order to checkout
If Profile.ShoppingCart.Count = 0 Then
Response.Redirect("~/Cart.aspx", True)
End If
'2) Need to have this page under SSL!
Utility.TestForSSL()
End Sub
#End Region
End Class
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?