ShoppingCart.aspx页面负责显示用户的购物车中的所有图书信息,包括图书编号、书名、数量以及价格等信息。另外该页面允许用户对购物车中的图书信息进行修改,例如修改图书数量,删除不需要的图书等。该页面使用DataGrid控件来显示购物车中的图书信息。
实现购物车的步骤如下:
(1)在Bookstore项目中添加新的Web窗体,命名为ShoppingCart.aspx。
(2)在设计视图设置页面布局,其中DataGrid控件用于显示购物车中的物品信息,ImageButton控件提供用户在该页面可进行的操作。设计完成后的页面布局如图6-15所示:
图6-15 ShoppingCart.aspx设计界面
相关的ASP.NET代码如下:
(3)按F7键进入ShoppingCart.aspx.vb文件,引入DataAccess命名空间。
(4)修改Page_Load事件代码如下:
(5)添加自定义方法PopulateShoppingCartList如下:
(6)为窗体上的两个按钮添加事件处理程序,如下所示(注意要通过双击按钮控件来注册该事件):
(7)添加自定义方法UpdateShoppingCartDatabase代码如下:
(8)在DataAccess项目中的ShoppingCartDB文件中添加自定义方法GetItems:
(9)在数据库中添加ShoppingCartList存储过程:
(10)在DataAccess项目中的ShoppingCartDB文件中添加自定义方法GetTotal:
(11)在数据库中添加ShoppingCartTotal存储过程:(https://www.daowen.com)
(12)在DataAccess项目的ShoppingCartDB文件中添加自定义方法GetItemCount:
(13)在数据库中添加存储过程ShoppingCartItemCount:
(14)在DataAccess项目的ShoppingCartDB文件中添加自定义方法UpdateItem:
(15)在数据库中添加存储过程ShoppingCartUpdate:
(16)在DataAccess项目的ShoppingCartDB文件中添加自定义方法RemoveItem:
(17)在数据库中添加存储过程ShoppingCartRemoveItem:
(18)至此购物车信息列表ShoppingCart.aspx设计完毕,可以测试运行效果。
页面ShoppingCart.aspx首次加载时,将自动执行PopulateShoppingCartList方法以显示购物车中的信息。PopulateShoppingCartList方法通过调用ShoppingCart的GetItems方法获取购物车中所有的书籍信息,然后将得到的书籍阅读器绑定到DataGrid控件:
ShoppingCart的GetItems方法则依据购物车编号来获取数据库中对应购物车的信息,该方法执行存储过程ShoppingCartList,将结果保存在数据阅读器中并返回。
另外该方法还调用ShoppingCart的GetTotal方法来获取购物车中所有书籍的总价,然后显示在Label控件上:
ShoppingCart的GetTotal方法获取购物车中所有图书的总价,图书总价是通过存储过程ShoppingCartTotal来计算的,利用到了求和的SQL关键字sum:
在ShoppingCart.aspx页面中,用户可以修改购物车的信息,然后单击更新购物车按钮来更新购物车中的信息。购物车信息的更新由自定义方法UpdateShoppingCartDatabase实现。该方法首先遍历DataGrid中的项,检查每一项是否需要更新或者删除,需要更新则调用ShoppingCart的UpdateItem方法,需要删除则调用ShoppingCart的DeleteItem方法,由这两个方法来实现对数据库的操作:
当用户修改了购物车中的信息以后可以直接提交订单。在按钮提交订单的事件处理程序中,首先调用方法UpdateShoppingCartDatabase来更新购物车信息,然后重定向到Checkout.aspx页面,将控制权递交给Checkout.aspx文件。
Checkout.aspx文件负责处理用户的订单。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。