📄 checkout.aspx.vb
字号:
Public Class Checkout
Inherits System.Web.UI.Page
Protected WithEvents btnPlaceOrder As System.Web.UI.WebControls.Button
Protected WithEvents btnCancelOrder As System.Web.UI.WebControls.Button
Protected drpBasket As System.Web.UI.WebControls.Repeater
Protected lblStatus As System.Web.UI.WebControls.Label
Protected lblSubTotal As System.Web.UI.WebControls.Label
Protected lblTaxTotal As System.Web.UI.WebControls.Label
Protected lblShippingTotal As System.Web.UI.WebControls.Label
Protected lblGrandTotal As System.Web.UI.WebControls.Label
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
'实例化购物车
Private myCart As New StoreCommon.Services.ShoppingCart()
Private strCartID As String
Private strCustomerID As String
Private intOrderID As String
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
'获取用户的所引号
strCustomerID = User.Identity.Name
If (Page.IsPostBack = False) Then
'刷新数据区域
PopulateDataFields()
End If
End Sub
Private Sub btnPlaceOrder_Click(ByVal sender As Object, _
ByVal e As EventArgs) Handles btnPlaceOrder.Click
'获取当前购物车的拥有者
strCartID = myCart.GetCartID
'清空购物车
myCart.ClearCart(strCartID)
Dim myOrder As New StoreCommon.Services.OrderProcessor()
'在订单中插入一行新记录
intOrderID = myOrder.InsertOrders(strCustomerID)
Dim ProductID As String
Dim Quantity As Integer
Dim intListItemsCounter As Integer
Dim objRepeaterItem As RepeaterItem
For Each objRepeaterItem In drpBasket.Items
'定义并获取数量以及被掩藏的商品ID号
Dim lblQuantity As System.Web.UI.WebControls.Label = _
CType(objRepeaterItem.FindControl("Label1"), Label)
Dim hdnItemID As System.Web.UI.HtmlControls.HtmlInputHidden = _
CType(objRepeaterItem.FindControl("hdnItemID"), HtmlInputHidden)
'获取产品的ID号
ProductID = hdnItemID.Value
'获取定单中的数量
Quantity = CInt(Val(lblQuantity.Text))
'向订单细节中插入一条记录
myOrder.InsertOrderItem(intOrderID, ProductID, Quantity)
Next
'将页面重新定向到首页
Response.Redirect("default.aspx")
End Sub
Sub btnCancelOrder_Click(ByVal sender As Object, _
ByVal e As EventArgs) Handles btnCancelOrder.Click
'获取当前购物车的拥有者
strCartID = myCart.GetCartID
'清空购物车
myCart.ClearCart(strCartID)
'将页面重新定向到首页
Response.Redirect("default.aspx")
End Sub
Private Sub PopulateDataFields()
strCartID = myCart.GetCartID
'如果购物车为空
If myCart.ItemsCount(strCartID) = 0 Then
lblStatus.Text = "您的购物车是空的。"
drpBasket.Visible = False
Exit Sub
End If
lblStatus.Text = "请确认该订单中的项目:"
'将购物车中的数据绑定到Repeater控件
drpBasket.DataSource = myCart.GetItemsList(strCartID)
drpBasket.DataBind()
'获取商品的种类数
Dim Count As Integer = myCart.ItemsCount(strCartID)
'设置其他费用
Dim TaxTotal As Double = Count * 4.99
Dim ShippingTotal As Double = Count * 8.99
Dim GrandTotal As Double = myCart.SubTotal(strCartID) + _
ShippingTotal + TaxTotal
'显示其他费用
lblSubTotal.Text = String.Format("{0:C}", myCart.SubTotal(strCartID))
lblTaxTotal.Text = String.Format("{0:C}", TaxTotal)
lblShippingTotal.Text = String.Format("{0:C}", ShippingTotal)
lblGrandTotal.Text = String.Format("{0:C}", GrandTotal)
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -