📄 myshoppingcart.aspx.vb
字号:
Imports Microsoft.VisualBasic '因为用到了FormatCurrency函数
Public Class myShoppingCart
Inherits System.Web.UI.Page
#Region " Web 窗体设计器生成的代码 "
'该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Protected WithEvents myDataGrid As System.Web.UI.WebControls.DataGrid
Protected WithEvents btnContinue As System.Web.UI.WebControls.Button
Protected WithEvents btnUpdate As System.Web.UI.WebControls.Button
Protected WithEvents btnCheckOut As System.Web.UI.WebControls.Button
'注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private designerPlaceholderDeclaration As System.Object
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 Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
'给btnContinue按钮添加JavaScript事件
btnContinue.Attributes.Add("onclick", "JavaScript:window.close();")
'下面绑定数据
If Not Page.IsPostBack Then
Call myDataBind() '绑定数据
End If
End Sub
'该过程用来绑定数据
Sub myDataBind()
'调用ShoppingCart类的方法返回购物车中的书籍
Dim sc As New ShoppingCart
myDataGrid.DataSource = sc.GetBook()
myDataGrid.DataBind()
'下面判断一下,如果没有购任何物品,则“前往收银台按钮不可以用
If myDataGrid.Items.Count = 0 Then
btnUpdate.Enabled = False
btnCheckOut.Enabled = False
Else
btnUpdate.Enabled = True
btnCheckOut.Enabled = True
End If
End Sub
'该过程用于添加合计值
Private Sub myDataGrid_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles myDataGrid.ItemDataBound
'这个判断语句表示,只有对于脚注行才执行
If e.Item.ItemType = ListItemType.Footer Then
'下面找到两个Label控件
Dim objBookNum, objSubTotal As Label '定义一个Label控件
objBookNum = e.Item.FindControl("lblBookNum")
objSubTotal = e.Item.FindControl("lblSubTotal")
'下面调用ShoppingCart类的方法计算合计值
Dim sc As New ShoppingCart
objBookNum.Text = sc.TotalNum
objSubTotal.Text = FormatCurrency(sc.TotalMoney)
End If
End Sub
'该过程用于删除行
Private Sub myDataGrid_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.DeleteCommand
'调用ShoppingCart类的方法删除该书
Dim sc As New ShoppingCart
sc.RemoveBook(myDataGrid.DataKeys(e.Item.ItemIndex))
'重新绑定数据
Call myDataBind()
End Sub
'该过程用来更改数量
Private Sub btnUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
Dim objItem As DataGridItem '声明DataGridItem对象
Dim objBookNum As TextBox '声明文本框控件变量
Dim sc As New ShoppingCart
'下面在DataGrid控件的每一行中循环
For Each objItem In myDataGrid.Items
'下面找到该行的文本框
objBookNum = objItem.FindControl("txtBookNum") '获取到新的数量
'下面调用ShoppingCart类的方法更新数量,第1个参数为BookId,第2个参数为BookNum)
sc.UpdateBook(myDataGrid.DataKeys(objItem.ItemIndex), objBookNum.Text)
Next
'重新绑定数据
Call myDataBind()
End Sub
'该过程会引导用户前往收银台
Private Sub btnCheckOut_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCheckOut.Click
'这里会判断客户是否已经登录,如果没有登录,则会重定向到登录页面;如果已登录,则直接登录到结账页面
'这里调用了UserLog类的IsLog共享方法
If DataUserLog.IsNormal = True Then
Response.Redirect("CheckOut.aspx")
Else
Response.Redirect("log/login.aspx")
End If
End Sub
Private Sub btnContinue_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnContinue.Click
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -