鉴于大家对ASP十分关注,我们编辑小组在此为大家搜集整理了“用asp设计购物推车”一文,供大家参考学习
什么是购物推车? 如果客户从商品目录中选择了一件商品,这时我们传递客户的请求到proxy.asp,同时传递的是动作变量"增加商品"。proxy.asp读取这个变量,并决定执行购物推车的哪个动作。这些动作包括:增加商品、更新商品数量、移除商品或者察看购物推车。
有些动作被作为内部调用。如创建推车之前,我们需要检查推车是否已经存在(checkcart)。在增加、删除或者更新商品及其数量时,我们要确认此商品是否已经存在于我们的购物推车之中(checkitem)。下面我们将为购物推车设计8个方法,分别是:
viewitem 察看推车
checkcart 检查推车
createcart 创建推车
additem(id, qty), 增加商品
removeitem(id) 删除商品
updateitem(id, qty), 更新数量
removeall 全部清空
checkitem(id) 商品检查
购物推车的设计
购物推车需要三个要素:一个vbscript 5的类class cartkit,一个多维数组mudcart,一个session变量session("cart")。
这个vbscript 类,我们称为cartkit,包含了8个方法,如上表所示。在本文我们只用了id和qty,分别表示商品编号和数量。
这样我们就可以用一个二维数组来表达这个推车,象下面这样:
商品编号 商品数量
id-1 23
id-3 10
id-23 6
id-2 1
然后我们把这个二维数组保存到session变量中就可以了。
购物推车类cartkit的设计
请下载:cartkit.asp
createcart设计:
请看程序代码:
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")保存的就是推车的内容。如果推车不存在,我们就定义一个二维数组mudcart来表达推车,并将它保存到session("cart")中。
checkcart设计:
本函数判断cart是否已经创建。比较简单。
function checkcart()
if isarray(session("cart")) then
checkcart=true
else
checkcart=false
end if
end function
checkitem设计:
请看代码:
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
首先判断推车是否存在。然后将商品的编号id和购物推车中的商品编号逐一比较。如果有相等的,返回真。否则为假。
additem(id,qty)设计:
请参考本文的附件car