打印本文 打印本文 关闭窗口 关闭窗口
[ASP.NET开发系列] 购物推车程序设计——购物车类
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2607  更新时间:2009/4/23 10:38:59  文章录入:mintao  责任编辑:mintao
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组件来添加、删除物件。

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口