⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkout.aspx.vb

📁 Visual Basic.NET控件时尚编程百例
💻 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 + -