Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > asp技巧

用asp设计购物推车

来源:中文源码网    浏览:371 次    日期:2024-04-19 05:33:24
【下载文档:  用asp设计购物推车.txt 】


用ASP设计购物推车
什么是购物推车?   你一定去过超级市场吧。在那里你可以推着推车,将中意的商品放进推车,或者把推车里的商品取出来重新放到货架,最后你推着推车去结账。   那么,在网上超市,客户也应该可以在浏览商品目录时,将中意的商品放进"电子推车"。电子推车是超级市场推车的电子化。在网上商店里,这种电子推车又称为"购物推车",英文是shopping cart。 购物推车的设计目标   从程序员的观点来看,购物推车是维护购物者商品选购、允许察看、允许修改的一个对象。购物推车本身是一个非常简单的程序,但开发者要考虑它将连接到商品目录子系统、订单子系统、客户账号子系统、站点管理子系统等等,形成功能完整的网上商店。 下面是购物推车的设计目标: 1、 持续性:购物推车应该从它的前一次会话中记住其内容。 2、 购物推车和客户相关,而不是和客户的电脑相关。客户可以从另外的电脑或浏览器来访问购物推车。 3、 当新的商品被加入推车或者从推车去掉时,推车的内容可以被显示给用户。 4、 推车可以容纳很多甚至无限的商品。 系统设计/流程设计   在编写我们的购物推车之前,我们看看它的系统架构和流程。
  如果客户从商品目录中选择了一件商品,这时我们传递客户的请求到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)设计: 请参考本文的附件cartkit.asp,这里介绍的函数我们把它们封装到一个名为cartkit的class中。下面的代码段首先创建了一个cartkit对象,然后检查推车是否已经存在。如果不存在,就创建推车并新增商品;否则,检查商品编号是否已经存在于cart中。如果是,就更新数量;否则,新增商品。
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设计: 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设计: function viewitem() mudcart=session("cart") if isarray(mudcart) then %>

相关内容