电子商务网站功能特点 Web应用程序ASP.NET开发电子商务网站购物车
Web应用程序ASP.NET开发电子商务网站购物车
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= 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>
lishixinzhi/Article/program/net/201311/13648