ASP.NET电子商务网站中购物车的实现

开发 后端
本文向您介绍ASP.NET电子商务网站的开发,重点讲解ASP.NET购物车的实现,包括添加物件、删除物件和查看推车这三个功能。

Web应用程序开发中,大多数的ASP.NET电子商务网站都有网上购物这一功能模块,所以购物车程序的编写就显得非常重要。 本文使用.NET技术打造一个ASP.NET电子商务网站。

ASP.NET购物车的作用不外就是实现这些功能:添加物件、修改物件、删除物件、检查推车、查看推车等。在本文就讲解“添加物件”、“删除物件”和“查看推车”这三个功能。当然,这里只不过是一个简单的购物车类,完成的功能也不多,还不够完善,需要大家在这个基础做扩展使它的功能更加完善。

C#是一种完全的OOP(Object Oriented Programming)语言,也是微软的主打语言,也可以说是未来的几个流行语言之一。本文的示例代码使用C#编写。以下是创建一个ASP.NET购物车类,它完成添加物件、删除物件和查看购物车物件这些功能,使其成为ASP.NET电子商务网站的核心功能。文件名ShoppingCart.cs:

  1. using System;
  2. using System.Web.UI;
  3. using System.Collections;
  4. //使用Hashtable类必须引入该命名空间
  5. namespace WendwCart //命名空间名称
  6. {
  7. [Serializable]
  8. public class Stat_Class{
  9. //定义商品类,保存商品的各种属性
  10. String ShangPinID; //商品ID
  11. String Sp_Name; //商品名称
  12. decimal Sp_Price; //商品价格
  13. int Sp_Quan; //商品数量
  14. public String ItemID{
  15. get{return ShangPinID;}
  16. set{ShangPinID=value;}
  17. }
  18. public String ShangpinName{
  19. get{return Sp_Name;}
  20. set{Sp_Name=value;}
  21. }
  22. public decimal Price{
  23. get{return Sp_Price;}
  24. set{Sp_Price=value;}
  25. }
  26. public int Quantity{
  27. get{return Sp_Quan;}
  28. set{Sp_Quan=value;}
  29. }
  30. public Stat_Class(String ItemID,String
  31. ShangpinName,decimal Price,int Quantity)
  32. { //构造方法,初始化商品的各个属性
  33. ShangPinID=ItemID;
  34. Sp_Name=ShangpinName;
  35. Sp_Price=Price;
  36. Sp_Quan=Quantity;
  37. }
  38. }
  39. [Serializable]
  40. public class ShoppingCart{
  41. Hashtable Cart_Orders=new Hashtable();
  42. public ICollection Orders{
  43. get{return Cart_Orders.Values;}
  44. }
  45. public decimal TotalCost{ //计算总价格
  46. get{
  47. decimal total=0;
  48. foreach(DictionaryEntry entry in Cart_Orders){
  49. Stat_Class order=(Stat_Class)entry.Value;
  50. total+=(order.Price*order.Quantity);
  51. }
  52. return total;
  53. }
  54. }
  55. public void AddItem(Stat_Class Order)
  56. { //添加物件方法
  57. Stat_Class order=( Stat_Class)
  58. Cart_Orders[Order.ItemID];
  59. if(order!=null)
  60. order.Quantity+=Order.Quantity;
  61. else
  62. Cart_Orders.Add(Order.ItemID,Order);
  63. }
  64. public void DeleteItem (String ItemID)
  65. { //删除物件
  66. if(Cart_Orders[ItemID]!=null)
  67. Cart_Orders.Remove(ItemID);
  68. }
  69. }
  70. }
  71. 编译ShoppingCart.cs文件:
  72. csc /t:library /out: ShoppingCart.dll ShoppingCart.cs

部署ShoppingCart.dll组件到bin目录下。

说明:

为了保证不管使用什么样的会话模式都能够有效的保存会话状态,在定义类的前面加上了Serializable序列化。另外,为了使每个用户登录时都能创建一个类的实例,在Global.asax文件里加上:

  1. 〈 %@ Import Namespace="WendwCart" %〉
  2. 〈 %@ Application Codebehind="Global.asax.cs"
  3. Inherits="HDLab.BBS.Global" %〉
  4. 〈 script Language="C#" runat="server"
  5. void Session_Start()
  6. {
  7. Session["MyShoppingCart"]=new ShoppingCart();
  8. }
  9. 〈 /script〉

其中WendwCart是控件的命名空间名称。这样,我们就基本完成了ASP.NET购物车的创建。

【编辑推荐】

  1. ASP.NET邮件列表的高效实现
  2. 在ASP.NET中向数据库批量插入数据
  3. ASP.NET用Post方式向网页发送数据
  4. ASP.NET 2.0部署WEB应用程序浅析
  5. ASP.NET中的HttpWorkerRequest对像
  6. ASP.NET人才招聘系统简介
责任编辑:冰荷 来源: xmsc
相关推荐

2009-07-24 10:46:00

ASP.NET MVC

2009-07-28 13:21:27

2011-03-02 09:00:10

ASP.NET MVC

2009-07-28 13:06:19

ASP.NET电子商务

2011-04-14 10:08:04

AJAXPHPJQuery

2010-09-03 09:33:53

2009-08-14 14:05:52

购物环境钓鱼网站SSL

2016-04-28 09:47:31

2009-04-16 11:14:49

Linux阿里巴巴电子商务

2012-01-16 12:09:21

2011-07-25 16:09:29

2009-07-02 17:22:05

2009-07-01 18:30:51

JSP开发电子商务网站

2011-12-07 09:35:14

电子商务网宿科技

2009-11-04 10:20:04

乐合网

2010-01-05 11:02:30

2009-08-03 14:15:24

ASP.NET系统用户

2012-01-17 10:37:25

2009-08-05 17:58:34

实现ASP.NET网站

2011-11-11 15:05:56

Linux运维趋势电子商务
点赞
收藏

51CTO技术栈公众号