📄 shoppingcart.aspx.vb
字号:
Public Class ShoppingCart
Inherits System.Web.UI.Page
Protected WithEvents lblStatus As System.Web.UI.WebControls.Label
Protected WithEvents drpBasket As System.Web.UI.WebControls.Repeater
Protected WithEvents lblSubTotal As System.Web.UI.WebControls.Label
Protected WithEvents btnRecalculate As System.Web.UI.WebControls.Button
Protected WithEvents btnCheckout As System.Web.UI.WebControls.Button
Protected WithEvents pnlBasketSection As System.Web.UI.WebControls.Panel
Protected Header1 As Store.header
#Region " Web 窗体设计器生成的代码 "
'该调用是 Web 窗体设计器所必需的。
<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: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub
#End Region
Private myCart As New StoreCommon.Services.ShoppingCart()
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
If Not IsPostBack Then
'更新购物车
PopulateShoppingCart()
End If
End Sub
Private Sub btnRecalculate_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles btnRecalculate.Click
'更新购物车
UpdateShoppingCart()
'重新设置购物车
PopulateShoppingCart()
End Sub
Private Sub btnCheckout_Click(ByVal sender As Object, _
ByVal e As EventArgs) Handles btnCheckout.Click
'更新购物车
UpdateShoppingCart()
'获取购物车的当前用户
Dim strCartID As String = myCart.GetCartID
'查询该客户的消费总金额
myCart.SubTotal(strCartID)
'导航到订单确认页面
Response.Redirect("CheckOut.aspx")
End Sub
Public Sub PopulateShoppingCart()
'获取购物车的当前用户
Dim myCartID As String = myCart.GetCartID
If myCart.ItemsCount(myCartID) > 0 Then
'获取商品详细信息,并绑定到Repeater控件中
drpBasket.DataSource = myCart.GetItemsList(myCartID)
drpBasket.DataBind()
'显示消费总金额
lblSubTotal.Text = myCart.SubTotal(myCartID).ToString
End If
End Sub
Public Sub UpdateShoppingCart()
Dim intListItemsCounter As Integer
Dim objRepeaterItem As RepeaterItem
'获取购物车的当前用户
Dim strCartID As String = myCart.GetCartID
For Each objRepeaterItem In drpBasket.Items
'定义并获取数量的文本框控件和是否移除的CheckBox控件以及被掩藏的商品ID号
Dim txtQuantity As System.Web.UI.WebControls.TextBox = _
CType(objRepeaterItem.FindControl("txtQuantity"), TextBox)
Dim chkRemove As System.Web.UI.WebControls.CheckBox = _
CType(objRepeaterItem.FindControl("chkRemove"), CheckBox)
Dim hdnItemID As System.Web.UI.HtmlControls.HtmlInputHidden = _
CType(objRepeaterItem.FindControl("hdnItemID"), HtmlInputHidden)
If (txtQuantity Is Nothing = False) And (chkRemove Is Nothing = False) _
And (hdnItemID Is Nothing = False) Then
'将文本转换成整数
Dim intQuantity As Integer = Int32.Parse(txtQuantity.Text)
If (chkRemove.Checked = True Or intQuantity = 0) Then
'确定移除数量已经被设置为0的商品
myCart.RemoveItem(strCartID, hdnItemID.Value)
Else
myCart.UpdateItem(strCartID, hdnItemID.Value, intQuantity)
End If
End If
Next
'显示已经选择的商品数量
lblStatus.Text = "您已经选择了如下: " & myCart.ItemsCount(strCartID) & " 商品了:"
'显示消费总金额
lblSubTotal.Text = myCart.SubTotal(strCartID).ToString
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -