|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
是不是实质都是API?有的好像不只是API那么简单的,有的也是一种框架就像MFC一样。有的还是一种思想(就是做软件的思想)(好像很深奥,其实我也不懂^_^)asp.net|程序|购物车|计划 Web使用程序开辟中,年夜多半的电子商务网站都有网上购物这一功效模块,以是购物车程序的编写就显得十分主要。
购物车的感化不过就是完成这些功效:增加物件、修正物件、删除物件、反省推车、检察推车等。在本文就解说“增加物件”、“删除物件”和“检察推车”这三个功效。固然,这里只不外是一个复杂的购物车类,完成的功效也未几,还不敷完美,必要人人在这个基本做扩大使它的功效加倍完美。
C#是一种完整的OOP(ObjectOrientedProgramming)言语,也是微软的主打言语,也能够说是将来的几个盛行言语之一。本文的示例代码利用C#编写。以下是创立一个购物车类,它完成增加物件、删除物件和检察购物车物件这些功效,文件名ShoppingCart.cs:
usingSystem;
usingSystem.Web.UI;
usingSystem.Collections;//利用Hashtable类必需引进该定名空间
namespaceWendwCart//定名空间称号
{
[Serializable]
publicclassStat_Class{//界说商品类,保留商品的各类属性
StringShangPinID;//商品ID
StringSp_Name;//商品称号
decimalSp_Price;//商品代价
intSp_Quan;//商品数目
publicStringItemID{
get{returnShangPinID;}
set{ShangPinID=value;}
}
publicStringShangpinName{
get{returnSp_Name;}
set{Sp_Name=value;}
}
publicdecimalPrice{
get{returnSp_Price;}
set{Sp_Price=value;}
}
publicintQuantity{
get{returnSp_Quan;}
set{Sp_Quan=value;}
}
publicStat_Class(StringItemID,StringShangpinName,decimalPrice,intQuantity){//机关办法,初始化商品的各个属性
ShangPinID=ItemID;
Sp_Name=ShangpinName;
Sp_Price=Price;
Sp_Quan=Quantity;
}
}
[Serializable]
publicclassShoppingCart{
HashtableCart_Orders=newHashtable();
publicICollectionOrders{
get{returnCart_Orders.Values;}
}
publicdecimalTotalCost{//盘算总代价
get{
decimaltotal=0;
foreach(DictionaryEntryentryinCart_Orders){
Stat_Classorder=(Stat_Class)entry.Value;
total+=(order.Price*order.Quantity);
}
returntotal;
}
}
publicvoidAddItem(Stat_ClassOrder){//增加物件办法
Stat_Classorder=(Stat_Class)Cart_Orders[Order.ItemID];
if(order!=null)
order.Quantity+=Order.Quantity;
else
Cart_Orders.Add(Order.ItemID,Order);
}
publicvoidDeleteItem(StringItemID){//删除物件
if(Cart_Orders[ItemID]!=null)
Cart_Orders.Remove(ItemID);
}
}
}
编译ShoppingCart.cs文件:
csc/t:library/out:ShoppingCart.dllShoppingCart.cs
部署ShoppingCart.dll组件到bin目次下。
申明:
为了包管不论利用甚么样的会话形式都可以无效的保留会话形态,在界说类的后面加上了Serializable序列化。别的,为了使每一个用户登录时都能创立一个类的实例,在Global.asax文件里加上:
<%@ImportNamespace="WendwCart"%>
<%@ApplicationCodebehind="Global.asax.cs"Inherits="HDLab.BBS.Global"%>
<scriptLanguage="C#"runat="server">
voidSession_Start()
{
Session["MyShoppingCart"]=newShoppingCart();
}
</script>
个中WendwCart是控件的定名空间称号。
鄙人一篇《购物推车程序开辟――挪用购物车类》中将解说怎样在ASP.NET页面中使用ShoppingCart.dll组件来增加、删除物件。
它有很多缺点的,有兴趣可以到网上去搜索一下。于是微软有发明了“下一代”C++:C++/CLI语言,这个可以解决在.NETFramework中,托管C++产生的问题。在《程序员》杂志上,lippman和李建中合作连载介绍了C++/CLI语言。 |
|