仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2870|回复: 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-2-4 05:06:47 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
深爱那片海 该用户已被删除
板凳
发表于 2015-2-9 20:31:10 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
海妖 该用户已被删除
地板
发表于 2015-2-11 08:01:20 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
山那边是海 该用户已被删除
5#
发表于 2015-2-27 07:37:24 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
乐观 该用户已被删除
6#
发表于 2015-3-3 22:12:18 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
小妖女 该用户已被删除
7#
发表于 2015-3-5 23:43:00 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
若相依 该用户已被删除
8#
发表于 2015-3-11 19:11:22 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
谁可相欹 该用户已被删除
9#
发表于 2015-3-19 08:17:02 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
蒙在股里 该用户已被删除
10#
发表于 2015-3-21 09:38:18 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
变相怪杰 该用户已被删除
11#
发表于 2015-3-28 07:23:23 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
小女巫 该用户已被删除
12#
发表于 2015-3-29 17:17:04 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
老尸 该用户已被删除
13#
发表于 2015-4-14 02:50:11 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
简单生活 该用户已被删除
14#
发表于 2015-5-4 02:14:31 | 只看该作者
掌握asp的特性而且一定要知道为什么。
柔情似水 该用户已被删除
15#
发表于 2015-5-9 12:31:45 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
莫相离 该用户已被删除
16#
发表于 2015-7-7 20:55:56 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
愤怒的大鸟 该用户已被删除
17#
发表于 2015-7-10 03:11:12 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
金色的骷髅 该用户已被删除
18#
 楼主| 发表于 2015-7-10 22:41:08 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
再见西城 该用户已被删除
19#
发表于 2015-7-22 21:20:53 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
活着的死人 该用户已被删除
20#
发表于 2015-7-25 02:10:34 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-29 08:11

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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