韋偉
摘 要:購物車功能就是將商品信息與顧客購物行為綁定,并進(jìn)行顯示、編輯和存儲(chǔ)的過程,其關(guān)鍵技術(shù)就是讓服務(wù)器識(shí)別每個(gè)客戶并與之建立關(guān)聯(lián)。本文將實(shí)際出發(fā),去探索利用ASP的Session結(jié)合ASP的Dictionary對象去實(shí)現(xiàn)購物車的基本功能。
關(guān)鍵詞:ASP;購物車;Session;Dictionary
中圖分類號:TP311 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言(Introduction)
隨著電子商務(wù)的蓬勃發(fā)展,各種購物網(wǎng)站大量涌現(xiàn),這些電子商務(wù)網(wǎng)站需要考慮的首要問題,就是購物車的實(shí)現(xiàn)方式。隨著動(dòng)態(tài)Web技術(shù)的發(fā)展,給購物車的實(shí)現(xiàn)提供了多種途徑。
購物車功能就是將商品信息與顧客購物行為綁定,并進(jìn)行顯示、編輯和存儲(chǔ)的過程,其關(guān)鍵技術(shù)就是讓服務(wù)器識(shí)別每個(gè)客戶并與之建立關(guān)聯(lián)。目前購物車的實(shí)現(xiàn)主要通過cookie、Session和訂單直接訪問數(shù)據(jù)等形式,與服務(wù)器進(jìn)行數(shù)據(jù)的交換[1]。本文將從電子商務(wù)專業(yè)教學(xué)實(shí)際出發(fā),利用ASP的Session技術(shù)實(shí)現(xiàn)購物車的基本功能。
2 購物車的基本功能(The basic functions of the
shopping cart)
各大購物網(wǎng)站的購物車主要用于保存用戶選購的商品信息,以方便客戶進(jìn)行商品的再篩選和數(shù)量確定,并進(jìn)行統(tǒng)一付款,因此,一個(gè)完善的購物車至少應(yīng)具備以下功能:
(1)擬購商品信息的添加。
(2)擬購商品的刪除。
(3)擬購商品數(shù)量的修改。
(4)購物車中商品的清空。
3 實(shí)現(xiàn)思路(Realization of ideas)
在此,我們將采用Session方式,結(jié)合ASP的Dictionary對象去實(shí)現(xiàn)購物車的基本功能。
Session可以將當(dāng)前用戶的信息通過定義Session變量和對象,將數(shù)據(jù)作為私有變量存放于服務(wù)器,以實(shí)現(xiàn)數(shù)據(jù)在不同頁面之間共享,從而保存和跟蹤用戶信息等[2]。因此,我們就可以利用Session變量來存儲(chǔ)用戶所選商品信息,并通過ASP代碼將購物信息顯示于web頁面的購物車中。當(dāng)然,我們也可以通過操作修改Session變量來修改購物車信息。
為了簡單靈活地操作購物信息數(shù)據(jù),我們可以選擇ASP中與數(shù)據(jù)關(guān)聯(lián)等價(jià)的Dictionary對象來操作數(shù)據(jù)。Dictionary對象具有key和item屬性,其中key值是唯一的,而item值卻是可以重復(fù),并且與key值相關(guān)聯(lián)。因此,設(shè)計(jì)過程中可以用key來存儲(chǔ)商品ID,而使用item項(xiàng)存儲(chǔ)購買商品的數(shù)量。然后再使用Dictionary的add、remove、removeall等方法來存取Dictionary對象中的數(shù)據(jù)[3]。
4 設(shè)計(jì)實(shí)現(xiàn)(Design implementation)
ASP中利用Session和Dictionary對象結(jié)合的方式實(shí)現(xiàn)購物車基本功能的過程如下:
4.1 商品加入購物車
spid=request.Form("spid")
spsl=1
'如Session("gwc")不存在,則創(chuàng)建Dictionary對象,并存入Session("gwc")中。
If (Not IsObject(Session("gwc"))) then
Set Session("gwc")=Server.CreateObject("Scripting.Dictionary")
end if
Set gwc=Session("gwc")
If (Not gwc.Exists(spid)) then
gwc.Add spid,spsl
else
gwc.item(spsl)=Cart.item(spsl)+1 ‘如果購物車中已經(jīng)存在該商品,商品數(shù)量增加1
end if
Set Session("gwc")=gwc
4.2 購物車信息顯示
Set gwc=Session ("gwc") ‘將Session("gwc")存入Dictionary對象
dim zsl,zje
zsl=0 ‘定義總數(shù)量
zje=0 ‘定義總金額
‘使用循環(huán)語句顯示用戶購買的商品和數(shù)量以及總價(jià)等信息。
Do while i spid = gwc.key (i) spsl= gwc.item (i) zsl= zsl + gwc.item (i) …… ‘連接數(shù)據(jù)庫并訪問該商品的相關(guān)信息,計(jì)算總金額 i=i+1 loop 4.3 購物車購物數(shù)量的修改 id=request.Querystring("id") ‘接收修改商品的編號 sl=request.Querystring("sl") ‘接收數(shù)量 Set gwc=Session("gwc") ‘將Session("gwc")存入Dictionary對象 If gwc.Exists(id) Then gwc.item(id)=Int(sl) end if Set Session("gwc")=gwc 4.4 購物車商品信息的刪除 (1)特定商品刪除 id=request.Querystring("id") ‘接收所刪除商品的編號 Set gwc =Session("gwc") If gwc.Exists(id) then gwc.Remove(id) end if Set Session("gwc")= gwc (2)清空購物車 Set Cart=Session("gwc ") Cart.Removeall( ) Set Session("gwc ")=gwc 5 結(jié)論(Conclusion) 綜上分析設(shè)計(jì),我們可以看出,在ASP中利用Session和Dictionary對象相結(jié)合的形式來實(shí)現(xiàn)購物車功能,思路清晰,代碼簡單,容易理解。目前,一般的在線購物網(wǎng)站都采用該方式實(shí)現(xiàn)購物車功能。 參考文獻(xiàn)(References) [1] 張志剛.購物車技術(shù)研究及改進(jìn)方法[J].計(jì)算機(jī)應(yīng)用與軟件, 2010(03):68-70. [2] 楊堅(jiān)爭.電子商務(wù)網(wǎng)站典型案例評析[M].西安:電子科技大學(xué) 出版社,2010. [3] 吳代文,林關(guān)成.基于ASP購物車的設(shè)計(jì)與實(shí)現(xiàn)[J].信息技術(shù), 2012(03):49-50. 作者簡介: 韋 偉(1980-),男,本科,軟件設(shè)計(jì)師.研究領(lǐng)域:數(shù)據(jù)庫和 信息管理系統(tǒng).