Web应用程序ASP.NET开发电子商务网站购物车

asp.net|web|程序|电子商务|购物车

    Web应用程序开发中,大多数的电子商务网站都有网上购物这一功能模块,所以购物车程序的编写就显得非常重要。

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

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

using System;
using System.Web.UI;
using System.Collections; //使用Hashtable类必须引入该命名空间

namespace WendwCart //命名空间名称
{
 [Serializable]
 public class Stat_Class{ //定义商品类,保存商品的各种属性
  String ShangPinID; //商品ID
  String Sp_Name; //商品名称
  decimal Sp_Price; //商品价格
  int Sp_Quan; //商品数量
  public String ItemID{
   get{return ShangPinID;}
   set{ShangPinID=value;}
  }

  public String ShangpinName{
   get{return Sp_Name;}
   set{Sp_Name=value;}
  }

  public decimal Price{
   get{return Sp_Price;}
   set{Sp_Price=value;}
  }

  public int Quantity{
   get{return Sp_Quan;}
   set{Sp_Quan=value;}
  }

  public Stat_Class(String ItemID,String ShangpinName,decimal Price,int Quantity){ //构造方法,初始化商品的各个属性

   ShangPinID=ItemID;
   Sp_Name=ShangpinName;
   Sp_Price=Price;
   Sp_Quan=Quantity;
  }
 }

 [Serializable]
 public class ShoppingCart{
  Hashtable Cart_Orders=new Hashtable();
  public ICollection Orders{
   get{return Cart_Orders.Values;}
  }

  public decimal TotalCost{ //计算总价格
  get{
   decimal total=0;
   foreach(DictionaryEntry entry in Cart_Orders){
    Stat_Class order=(Stat_Class)entry.Value;
    total+=(order.Price*order.Quantity);
   }
   return total;
  }
 }

 public void AddItem(Stat_Class Order){ //添加物件方法
  Stat_Class order=( Stat_Class)Cart_Orders[Order.ItemID];
  if(order!=null)
   order.Quantity+=Order.Quantity;
  else
   Cart_Orders.Add(Order.ItemID,Order);
 }

 public void DeleteItem (String ItemID){ //删除物件
  if(Cart_Orders[ItemID]!=null)
   Cart_Orders.Remove(ItemID);
 }
}
}

  编译ShoppingCart.cs文件:

csc /t:library /out: ShoppingCart.dll ShoppingCart.cs

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

  说明:

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

<%@ Import Namespace="WendwCart" %>
<%@ Application Codebehind="Global.asax.cs" Inherits="HDLab.BBS.Global" %>
<script Language="C#" runat="server">

void Session_Start()
{
 Session["MyShoppingCart"]=new ShoppingCart();
}
</script>

  其中WendwCart是控件的命名空间名称。 在下一篇《购物推车程序开发——调用购物车类》中将讲解如何在ASP.NET页面中应用ShoppingCart.dll组件来添加、删除物件。

时间: 2024-12-11 00:59:13

Web应用程序ASP.NET开发电子商务网站购物车的相关文章

ASP.NET开发电子商务网站购物车

asp.net|电子商务|购物车 Web应用程序开发中,大多数的电子商务网站都有网上购物这一功能模块,所以购物车程序的编写就显得非常重要. 购物车的作用不外就是实现这些功能:添加物件.修改物件.删除物件.检查推车.查看推车等.在本文就讲解"添加物件"."删除物件"和"查看推车"这三个功能.当然,这里只不过是一个简单的购物车类,完成的功能也不多,还不够完善,需要大家在这个基础做扩展使它的功能更加完善. C#是一种完全的OOP(Object Orie

ASP.NET开发电子商务网站学习经验

前些阵子照着<Pro ASP.NET 2.0 E-Commerce in C#2005>书编辑了一个商务系统网站,想总结一下学习到的所学的知识. 该网站具有一般商务网站的特征 这里先讲讲他的框架 数据访问层 用的的存储过程操作数据库的存储,有一个Shop.DataAccess类库专门(注意我这里将原文的命名空间改为shop了) 该类库使用了一个组件来封装对数据库的操作 为 Microsoft Data Access Application Block, 其实就是将SQLHelper.cs复制到

用ASP.NET开发电子商务网站对数据库表的设计

系统分析 功能需求分析 (1):产品展示,按照分类展示全部产品,和对应的相关信息. (2):增加产品的展示相关度,诸如最新产品报道,网站的新闻,促销信息. (3):购物车,跟踪用户的购物情况 (4):结算中心:处理用户帐单,购物处理 (5):反馈互动区,可以留言 (6):会员信息模块,可以注册 数据需求分析 数据库表设计定为8个表实现: ccdot_user{用户信息表}: ------szd_userid[PK] ------szd_username[用户ID] ------szd_passw

【在线等】公司ASP.NET 开发的网站要搬到LINUX服务器上

问题描述 怎么在linux上搭建支持ASP.NET开发的网站?我安装好了MONO,接下来怎么办? 解决方案 解决方案二:传智博客上面好像是视频,去下撒?解决方案三:为什么啊,买不起WIN系统?解决方案四:公司有了一个linux服务器了在租一个win服务器浪费呀解决方案五: 解决方案六:或者装个windows的虚拟机解决方案七:Jexus网站资料:Mono官方说明:

关于sql server2000和asp.net开发的网站打包的问题

问题描述 关于sqlserver2000和asp.net开发的网站打包的问题希望高手给我一个详细的步骤! 解决方案 解决方案二:这个有点麻烦,给的分数太少了把~!解决方案三:飞龙你少来,你不会就别在这里说!

asp.net mvc 购物网站 购物车

问题描述 asp.net mvc 购物网站 购物车 public class Cart { public int CartID { get; set; } private List lineCollection = new List(); public void AddItem(Product product, int quantity) { CartLine line = lineCollection .Where(p => p.Product.ProductID == product.Pro

web应用程序-asp.net做网站新建项目web空应用程序还是新建网站

问题描述 asp.net做网站新建项目web空应用程序还是新建网站 小弟刚出来工作,第一个项目是建的asp.net空网站,但是在发布网站的时候会把每个bin文件里的每个cs类文件生成一个随机命名的dll文件,网站上线后,如果有些功能要修改cs文件的话,就很麻烦,要重新上传所有的内容,听说新建web应用程序就不会有这个问题,web应用程序会把cs文件封装在一个dll里面,是这样吗?这些我都还不是很懂,做网站的话是新建哪个好点,各自有什么优缺点?希望前辈们指教一下,万分感谢. 解决方案 http:/

我可以下载些相关asp.net开发的网站代码吗?

问题描述 我在那里可以下载到免费的而且能够用的关于asp.net开发的留言板代码吗?如果可以的话我该在那里去找?我想在网络上面想更加深刻的去学习asp.net和SQL,该怎么办? 解决方案 解决方案二:www.51aspx.com

JSP在电子商务网站开发的运用

  在电子商务网站开发中,网站所达到的要求越来越严格,因此使用的技术也越来越广,让网站在使用的时候能够达到完美.JSP技术在电子商务网站建设中的运用,大大改善商城开发的难题. JSP在开发电子商务网站中将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易.JSP商务网站页面由HTML代码和嵌入其中的代码所组成.服务器在电子商务网站页面被客户端请求以后对这些代码进行处理,然后将生成的HTML页面返回给电子商务网站户端的浏览器.在电子商务网站开发中J