熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

使用ASP的Dictionary對象打造完美購物車

2013-11-13 10:11:11  來源: .NET編程 
    商業網站開發都會遇到購物車的問題普通的開發者可能較多的使用session和cookies對象來完成再就是更為蹩腳的數據庫存儲了

    但我個人感覺session和cookies的構造並不方便畢竟cookies要保存在客戶端一旦客戶端關閉或禁用了cookies那就不可行了而且個對象間數據的傳輸讀寫也要煩瑣通過數據庫存儲的缺點就更明顯了
很容易增加SERVER的負擔尤其是站點訪問量超多的情況

    偶爾要做一個帶購物車的網站對於喜歡偷懶的我自然不習慣以上種方式於是在網上找到了相關的資料發現了ScriptingDictionary這個對象(以前沒用過不要笑我土)以此為基礎自己打造了一個session
+ScriptingDictionary購物車(個人還是VERY滿意的有興趣的同志也幫忙測試一下吧)速度超快的

    廢話少說看看吧

    A設計描述

  客戶端登陸網站時就為其建立一個SESSION它用來關聯字典對象形成購物車客戶購物時SERVER完全通過SESSION調用字典的方法完成購物流程

    B詳細
 
 為客戶建立購物車名為shop
 set session(shop)= CreateObject(ScriptingDictionary)

 檢查客戶當前購物車商品個數
 session(shopunt=
 如果為那麼自然表示購物車現在是空的

 客戶訂購某一商品
 session(shop)add idnum
 id表示數據庫中商品的ID或編號等num表示客戶訂購此商品的個數

 客戶查看購物車列表(客戶確認當前已購買了的商品列表)
 id=session(shop)keys
 num=session(shopems
 以上句均返回的是數組型數據分別付給id(商品ID組)和num(商品數量組)這個變量

 聰明的你馬上就會想到只要通過循環把它們一一對應起來就OK了
 for i= to session(shopunt
 id(i)
 這裡可以結構操作數據庫把商品的信息取出來通過操作商品編號數組id(i)
 do while not rseof
 num(i)
 然後循環結果集使價格等與商品對應通過操作商品個數數組 num(i)
 rsmovenext
 loop
 next
 數組的下標是從開始所以要count

 這部可能有點亂不過如果你有點經驗的話應該是很容易讀懂的

 客戶更改某一商品的訂購數量
 session(shop)(id)=num
 太簡單了我不多解釋了

 客戶刪除某一商品
 session(shop)remove(id)

 客戶清空購物車
 session(shop)removeall

 客戶確認後提交訂單
 實際上就同樣把對應的購物信息存儲到數據庫中就OK了
From:http://tw.wingwit.com/Article/program/net/201311/12825.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.