青草久久影院-青草久久伊人-青草久久久-青草久久精品亚洲综合专区-SM双性精跪趴灌憋尿调教H-SM脚奴调教丨踩踏贱奴

17站長網(wǎng)

17站長網(wǎng) 首頁 編程 ASP.NET 查看內(nèi)容

用ASP設(shè)計(jì)購物推車

2022-10-25 18:55| 查看: 2276 |來源: 互聯(lián)網(wǎng)

在網(wǎng)上超市,客戶也應(yīng)該可以在瀏覽商品目錄時(shí),將中意的商品放進(jìn)"電子推車"。電子推車是超級(jí)市場推車的電子化。在網(wǎng)上商店里,這種電子推車又稱為"購物推 ...
什么是購物推車?
  你一定去過超級(jí)市場吧。在那里你可以推著推車,將中意的商品放進(jìn)推車,或者把推車?yán)锏纳唐啡〕鰜碇匦路诺截浖埽詈竽阃浦栖嚾ソY(jié)賬。
  那么,在網(wǎng)上超市,客戶也應(yīng)該可以在瀏覽商品目錄時(shí),將中意的商品放進(jìn)"電子推車"。電子推車是超級(jí)市場推車的電子化。在網(wǎng)上商店里,這種電子推車又稱為"購物推車",英文是shopping cart。
購物推車的設(shè)計(jì)目標(biāo)
  從程序員的觀點(diǎn)來看,購物推車是維護(hù)購物者商品選購、允許察看、允許修改的一個(gè)對象。購物推車本身是一個(gè)非常簡單的程序,但開發(fā)者要考慮它將連接到商品目錄子系統(tǒng)、訂單子系統(tǒng)、客戶賬號(hào)子系統(tǒng)、站點(diǎn)管理子系統(tǒng)等等,形成功能完整的網(wǎng)上商店。
下面是購物推車的設(shè)計(jì)目標(biāo):
1、 持續(xù)性:購物推車應(yīng)該從它的前一次會(huì)話中記住其內(nèi)容。
2、 購物推車和客戶相關(guān),而不是和客戶的電腦相關(guān)。客戶可以從另外的電腦或?yàn)g覽器來訪問購物推車。
3、 當(dāng)新的商品被加入推車或者從推車去掉時(shí),推車的內(nèi)容可以被顯示給用戶。

4、 推車可以容納很多甚至無限的商品。
系統(tǒng)設(shè)計(jì)/流程設(shè)計(jì)
  在編寫我們的購物推車之前,我們看看它的系統(tǒng)架構(gòu)和流程。

  如果客戶從商品目錄中選擇了一件商品,這時(shí)我們傳遞客戶的請求到proxy.asp,同時(shí)傳遞的是動(dòng)作變量"增加商品"。proxy.asp讀取這個(gè)變量,并決定執(zhí)行購物推車的哪個(gè)動(dòng)作。這些動(dòng)作包括:增加商品、更新商品數(shù)量、移除商品或者察看購物推車。
  有些動(dòng)作被作為內(nèi)部調(diào)用。如創(chuàng)建推車之前,我們需要檢查推車是否已經(jīng)存在(checkcart)。在增加、刪除或者更新商品及其數(shù)量時(shí),我們要確認(rèn)此商品是否已經(jīng)存在于我們的購物推車之中(checkitem)。下面我們將為購物推車設(shè)計(jì)8個(gè)方法,分別是:
viewitem 察看推車
checkcart 檢查推車
createcart 創(chuàng)建推車
additem(id, qty), 增加商品
removeitem(id) 刪除商品
updateitem(id, qty), 更新數(shù)量
removeall 全部清空
checkitem(id) 商品檢查

購物推車的設(shè)計(jì)
  購物推車需要三個(gè)要素:一個(gè)vbscript 5的類class cartkit,一個(gè)多維數(shù)組mudcart,一個(gè)session變量session("cart")。
  這個(gè)vbscript 類,我們稱為cartkit,包含了8個(gè)方法,如上表所示。在本文我們只用了id和qty,分別表示商品編號(hào)和數(shù)量。
  這樣我們就可以用一個(gè)二維數(shù)組來表達(dá)這個(gè)推車,象下面這樣:
商品編號(hào) 商品數(shù)量
id-1 23
id-3 10
id-23 6
id-2 1
然后我們把這個(gè)二維數(shù)組保存到session變量中就可以了。
購物推車類cartkit的設(shè)計(jì)
請下載:cartkit.asp
createcart設(shè)計(jì):
請看程序代碼:
class cartkit rem 開始類cartkit的定義
sub createcart()
 if isarray(session("cart")) = false then
  dim mudcart(19,1)
  session("cart") = mudcart
 end if
end sub
其中:session("cart")保存的就是推車的內(nèi)容。如果推車不存在,我們就定義一個(gè)二維數(shù)組mudcart來表達(dá)推車,并將它保存到session("cart")中。
checkcart設(shè)計(jì):
本函數(shù)判斷cart是否已經(jīng)創(chuàng)建。比較簡單。
function checkcart()
if isarray(session("cart")) then
  checkcart=true
 else
  checkcart=false
 end if
end function
checkitem設(shè)計(jì):
請看代碼:
function checkitem(id)
if checkcart=true then
  varmudcart = session("cart")
  for i = lbound(varmudcart)to ubound(varmudcart)
 if varmudcart(i,0) = id then
  checkitem=true
 exit function
 elseif varmudcart(i,0) <> id then
  checkitem=false
 end if
  next
 end if
end function
首先判斷推車是否存在。然后將商品的編號(hào)id和購物推車中的商品編號(hào)逐一比較。如果有相等的,返回真。否則為假。
additem(id,qty)設(shè)計(jì):
請參考本文的附件cartkit.asp,這里介紹的函數(shù)我們把它們封裝到一個(gè)名為cartkit的class中。下面的代碼段首先創(chuàng)建了一個(gè)cartkit對象,然后檢查推車是否已經(jīng)存在。如果不存在,就創(chuàng)建推車并新增商品;否則,檢查商品編號(hào)是否已經(jīng)存在于cart中。如果是,就更新數(shù)量;否則,新增商品。

function additem(id, qty)
set cartobj = new cartkit
varcartstatus = cartobj.checkcart
 if varcartstatus=false then
  cartobj.createcart
  mudcart=session("cart")
  mudcart(0,0)=id
  mudcart(0,1)=qty
  session("cart")=mudcart
   exit function
 elseif varcartstatus=true then
 if cartobj.checkitem(id) = true then
  cartobj.updateitem id,qty
 elseif cartobj.checkitem(id) = false then
  mudcart = session("cart")
 for i = lbound(mudcart) to ubound(mudcart)
 if mudcart(i,0) = "" then
  mudcart(i,0) = id
  mudcart(i,1) = qty
  session("cart") = mudcart
 exit function
 end if
 next
 end if
 end if
end function
updateitem設(shè)計(jì):
function updateitem(id, qty)
mudcart = session("cart")

 for i = lbound(mudcart) to ubound(mudcart)
  if mudcart(i,0) = id then
   mudcart(i,1) = qty
   session("cart")=mudcart
   exit function
  end if
 next
end function
viewitem設(shè)計(jì):
function viewitem()
mudcart=session("cart")
if isarray(mudcart) then
%>

本文最后更新于 2022-10-25 18:55,某些文章具有時(shí)效性,若有錯(cuò)誤或已失效,請?jiān)诰W(wǎng)站留言或聯(lián)系站長:17tui@17tui.com
·END·
站長網(wǎng)微信號(hào):w17tui,關(guān)注站長、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營銷服務(wù)中心

免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系我們及時(shí)修正或刪除。謝謝!

17站長網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!

掃一掃,關(guān)注站長網(wǎng)微信

大家都在看

    熱門排行

      最近更新

        返回頂部
        主站蜘蛛池模板: 多人乱肉高hnp | 青青草原亚洲 | 超碰99热在线精品视频 | 窝窝午夜色视频国产精品东北 | 有码在线播放 | 广东95后小情侣酒店自拍流出 | 色妺妺免费影院 | 果冻传媒在线完整免费播放 | 中文无码有码亚洲 欧美 | 色影音先锋av资源网 | 亲女乱h文小兰第一次 | 俄罗斯孩交精品 | 久久亚洲高清观看 | 欧美成人猛片aaaaaaa | 丝袜美女自摸 | 草莓视频在线看免费高清观看 | 人妻中文字幕乱人伦在线 | 亲爱的妈妈6韩国电影免费观看 | 97精品在线 | 国产一区私人高清影院 | 99国产精品偷窥熟女精品视频 | 亚洲破处女 | 乳色吐息在线观看全集免费观看 | 持田香织abc | 强被迫伦姧惨叫VIDEO | 亚洲视频精选 | 精品国产在线观看福利 | 久久爱狠狠综合网 | 久热人人综合人人九九精品视频 | 在线视频 中文字幕 | 中文字幕亚洲乱码熟女在线 | 亚洲AV久久无码精品热九九 | 扒开女人下面使劲桶动态图 | 国产精品-区区久久久狼 | 老妇高潮潮喷到猛进猛出 | 伊人大香线蕉精品在线播放 | 美女也烦恼主题曲 | 国产亚洲精品网站在线视频 | 国产成年人在线观看 | 国产精品色午夜视频免费看 | 欧美手机在线播放 |