仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2667|回复: 19
打印 上一主题 下一主题

[学习教程] ASP网页设计用ASP设计购物推车

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:40:01 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Active Server Page技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看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,分离暗示商品编号和数目。
 如许咱们就能够用一个二维数组来表达这个推车,象上面如许? br> 商品编号 商品数目
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) $#@60;$#@62; 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
%$#@62;
$#@60;table$#@62;
$#@60;tr$#@62;
$#@60;td$#@62;Item Name$#@60;/td$#@62;
$#@60;td$#@62;Item Quantity$#@60;/td$#@62;
$#@60;td$#@62;$#@60;/td$#@62;
$#@60;/tr$#@62;
$#@60;%
FOR i = LBound(mudCart) TO UBound(mudCart)
IF mudCart(i,0) $#@60;$#@62; "" THEN
%$#@62;
$#@60;tr$#@62;
$#@60;td$#@62;$#@60;%=%$#@62;$#@60;/td$#@62;
$#@60;%
Response.Write "Item ID: " & mudCart(i,0) & "$#@60;--"
Response.Write "$#@60;BR$#@62;"
Response.Write "Item Qty: " & mudCart(i,1) & "$#@60;--"
Response.Write "$#@60;BR$#@62;"
END IF
NEXT
ELSEIF isArray(mudCart) = False THEN
Response.Write "No item in your cart!"
Response.Write "$#@60;BR$#@62;"
Response.Write "Y don’t you do shop!"
END IF
End Function
RemoveItem(ID)设计:
Function RemoveItem(ID)
mudCart=Session("Cart")
’Find the Postion / Index of given ID.
For i = LBound(mudCart) TO Ubound(mudCart)
 IF mudCart(i,0) = ID THEN
  Pos=i
 Exit For
END IF
Next
’Delete Process...
 FOR i = Pos TO UBound(mudCart) - 1
  IF Not mudCart(i,0) = "" THEN
  mudCart(i,0) = mudCart(i+1,0)
 END IF
 Next
 End Function
End Class REM 停止类CartKit的界说 </p>  asp可以使用微软的activeX 使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般
金色的骷髅 该用户已被删除
沙发
 楼主| 发表于 2015-7-10 22:41:08 | 显示全部楼层
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-11 19:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表