国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

[ASP.NET開發系列] 購物推車程序設計——購物車類

2024-07-10 13:11:55
字體:
來源:轉載
供稿:網友


  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組件來添加、刪除物件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 修文县| 宁陵县| 南木林县| 上杭县| 苍溪县| 平谷区| 上高县| 呼伦贝尔市| 县级市| 闻喜县| 诸城市| 扎囊县| 乌海市| 万荣县| 区。| 昌江| 南木林县| 桦川县| 英吉沙县| 尼玛县| 政和县| 新田县| 连城县| 合川市| 明光市| 遵义县| 潞城市| 镇江市| 西青区| 新民市| 额尔古纳市| 龙川县| 淳安县| 清新县| 封丘县| 萨嘎县| 湖南省| 仪陇县| 隆林| 彭泽县| 汝南县|