理论教育 ASP.NET4.0购物车列表

ASP.NET4.0购物车列表

更新时间:2025-09-11 理论教育 版权反馈
【摘要】:ShoppingCart.aspx页面负责显示用户的购物车中的所有图书信息,包括图书编号、书名、数量以及价格等信息。实现购物车的步骤如下:在Bookstore项目中添加新的Web窗体,命名为ShoppingCart.aspx。设计完成后的页面布局如图6-15所示:图6-15 ShoppingCart.aspx设计界面相关的ASP.NET代码如下:按F7键进入ShoppingCart.aspx.vb文件,引入DataAccess命名空间。页面ShoppingCart.aspx首次加载时,将自动执行PopulateShoppingCartList方法以显示购物车中的信息。购物车信息的更新由自定义方法UpdateShoppingCartDatabase实现。Checkout.aspx文件负责处理用户的订单。

ShoppingCart.aspx页面负责显示用户的购物车中的所有图书信息,包括图书编号、书名、数量以及价格等信息。另外该页面允许用户对购物车中的图书信息进行修改,例如修改图书数量,删除不需要的图书等。该页面使用DataGrid控件来显示购物车中的图书信息。

实现购物车的步骤如下:

(1)在Bookstore项目中添加新的Web窗体,命名为ShoppingCart.aspx。

(2)在设计视图设置页面布局,其中DataGrid控件用于显示购物车中的物品信息,ImageButton控件提供用户在该页面可进行的操作。设计完成后的页面布局如图6-15所示:

978-7-111-43915-8-Chapter06-178.jpg

图6-15 ShoppingCart.aspx设计界面

相关的ASP.NET代码如下:

978-7-111-43915-8-Chapter06-179.jpg

978-7-111-43915-8-Chapter06-180.jpg

978-7-111-43915-8-Chapter06-181.jpg

978-7-111-43915-8-Chapter06-182.jpg

(3)按F7键进入ShoppingCart.aspx.vb文件,引入DataAccess命名空间。

(4)修改Page_Load事件代码如下:

978-7-111-43915-8-Chapter06-183.jpg

(5)添加自定义方法PopulateShoppingCartList如下:

978-7-111-43915-8-Chapter06-184.jpg

(6)为窗体上的两个按钮添加事件处理程序,如下所示(注意要通过双击按钮控件来注册该事件):

978-7-111-43915-8-Chapter06-185.jpg

978-7-111-43915-8-Chapter06-186.jpg

(7)添加自定义方法UpdateShoppingCartDatabase代码如下:

978-7-111-43915-8-Chapter06-187.jpg

978-7-111-43915-8-Chapter06-188.jpg

(8)在DataAccess项目中的ShoppingCartDB文件中添加自定义方法GetItems:

978-7-111-43915-8-Chapter06-189.jpg

(9)在数据库中添加ShoppingCartList存储过程:

978-7-111-43915-8-Chapter06-190.jpg

978-7-111-43915-8-Chapter06-191.jpg

(10)在DataAccess项目中的ShoppingCartDB文件中添加自定义方法GetTotal:

978-7-111-43915-8-Chapter06-192.jpg

(11)在数据库中添加ShoppingCartTotal存储过程:(https://www.daowen.com)

978-7-111-43915-8-Chapter06-193.jpg

978-7-111-43915-8-Chapter06-194.jpg

(12)在DataAccess项目的ShoppingCartDB文件中添加自定义方法GetItemCount:

978-7-111-43915-8-Chapter06-195.jpg

(13)在数据库中添加存储过程ShoppingCartItemCount:

978-7-111-43915-8-Chapter06-196.jpg

978-7-111-43915-8-Chapter06-197.jpg

(14)在DataAccess项目的ShoppingCartDB文件中添加自定义方法UpdateItem:

978-7-111-43915-8-Chapter06-198.jpg

(15)在数据库中添加存储过程ShoppingCartUpdate:

978-7-111-43915-8-Chapter06-199.jpg

(16)在DataAccess项目的ShoppingCartDB文件中添加自定义方法RemoveItem:

978-7-111-43915-8-Chapter06-200.jpg

(17)在数据库中添加存储过程ShoppingCartRemoveItem:

978-7-111-43915-8-Chapter06-201.jpg

978-7-111-43915-8-Chapter06-202.jpg

(18)至此购物车信息列表ShoppingCart.aspx设计完毕,可以测试运行效果。

页面ShoppingCart.aspx首次加载时,将自动执行PopulateShoppingCartList方法以显示购物车中的信息。PopulateShoppingCartList方法通过调用ShoppingCart的GetItems方法获取购物车中所有的书籍信息,然后将得到的书籍阅读器绑定到DataGrid控件:

978-7-111-43915-8-Chapter06-203.jpg

ShoppingCart的GetItems方法则依据购物车编号来获取数据库中对应购物车的信息,该方法执行存储过程ShoppingCartList,将结果保存在数据阅读器中并返回。

另外该方法还调用ShoppingCart的GetTotal方法来获取购物车中所有书籍的总价,然后显示在Label控件上:

978-7-111-43915-8-Chapter06-204.jpg

ShoppingCart的GetTotal方法获取购物车中所有图书的总价,图书总价是通过存储过程ShoppingCartTotal来计算的,利用到了求和的SQL关键字sum:

978-7-111-43915-8-Chapter06-205.jpg

在ShoppingCart.aspx页面中,用户可以修改购物车的信息,然后单击更新购物车按钮来更新购物车中的信息。购物车信息的更新由自定义方法UpdateShoppingCartDatabase实现。该方法首先遍历DataGrid中的项,检查每一项是否需要更新或者删除,需要更新则调用ShoppingCart的UpdateItem方法,需要删除则调用ShoppingCart的DeleteItem方法,由这两个方法来实现对数据库的操作:

978-7-111-43915-8-Chapter06-206.jpg

978-7-111-43915-8-Chapter06-207.jpg

当用户修改了购物车中的信息以后可以直接提交订单。在按钮提交订单的事件处理程序中,首先调用方法UpdateShoppingCartDatabase来更新购物车信息,然后重定向到Checkout.aspx页面,将控制权递交给Checkout.aspx文件。

Checkout.aspx文件负责处理用户的订单。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈