asp.net(C#)购物车

本文介绍了一个简单的购物车组件实现,包括商品类和购物车类的设计。通过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组件来添加、删除物件。

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值