標籤

ASP.NET MVC (29) Visual C# (15) JQuery (10) Plugins (8) JQuery Plugins (6) JavaScript (6) MySQL (5) CSS (4) LinQ (4) Mac OS (4) CentOS (3) Design Pattern (3) Entity Framework (3) IIS (3) Python (3) Windows (3) php (3) Docker (2) LAMP (2) SQL Server (2) WCF (2) .NET (1) .NET Core (1) AWS (1) Browser (1) GIS (1) IE (1) Internet Security (1) Linux (1) Platform (1) React (1) SEO (1) Testing (1) VMware (1) Windows 7 (1) cookie (1) curl (1) laravel (1) phpBB (1) session (1) 中古屋 (1) 透天 (1) 閒言閒語 (1) 面試 (1) 鳥松 (1)

2014年10月17日 星期五

使用ASP.NET MVC 實作購物網站 (十七) - 購物車類別設計與測試

昨天介紹了ASP.NET MVC中Session的優缺點與使用方式,今天我們開始設計購物車類別.

今日目標:
* 完成購物車類別並且進行測試


1. 在Models新增CartItem.cs,此類別我們準備拿來儲存單一商品,類別中包含商品編號,商品名稱, 價格, 數量 與 小計

2. 在Models中新增Cart類別,因為購物車有可能同時購買多比商品,所以此類別的主要功能是拿來放一群CartItem,Cart類別就是我們購物車的主要類別了,類別內容如下所述

3. 在Models新增Operation.cs,這個類別是提供購物車操作,目前我們僅新增一個方法GetCurrentCart(),功能是取得當前的購物車

4. 新增一個TestController準備測試用,在此Controller新增一個Action名稱為GetCart(),主要的功能為如果目前購物車沒有任何商品,則新增一筆假的商品.如果購物車內已經有商品,則將商品的數量加一.最後輸出目前購物車所有商品的總價.


5. 開始測試,瀏覽網址『http://localhost:51352/Test/GetCart』,第一次可以看到購物車總價為100元.

6. 重新瀏覽網址,則可以看到購物車內總價變為200元

如果繼續刷新頁面,購物車總金額會一直累加,直到將專案停止偵錯,網站重新啟動為止才會清空Session喔.今天我們完成購物車類別的設計以及測試,雖然商品資料是假的,但是至少確定是可以運作無誤的,明日我們繼續.


*今天的原始碼請參考這裡








4 則留言:

  1. 作者已經移除這則留言。

    回覆刪除
    回覆
    1. 想問一下第三張圖
      public static Models.Cart.Cart <==這邊

      為何我自己在實作時Models下面只有Cart類別 並不是像版主一樣兩個Cart呢?

      刪除
    2. 範例中Models有加入一個Cart資料夾, Cart資料夾內包含一個Cart.cs檔案, 所以包含NameSpace會是 「Models.Cart.Cart」

      刪除
    3. 範例中Models有加入一個Cart資料夾, Cart資料夾內包含一個Cart.cs檔案, 所以包含NameSpace會是 「Models.Cart.Cart」

      刪除