仓酷云
标题:
ASP编程:用ASP计划购物推车程序
[打印本页]
作者:
仓酷云
时间:
2015-1-16 22:11
标题:
ASP编程:用ASP计划购物推车程序
帮助用户快速实现各种应用服务,ASP商有整合各方面资源的能力,可在短期内为用户提供所需的解决方案。例如,典型的ERP安装,如果要在客户端安装的话需要半年到二年的时间,但是美国的一些ASP商如USI和CORIO能在90—120天内提供ERP应用方案。程序|计划 甚么是购物推车?
你必定往过超等市场吧。在那边你能够推着推车,将中意的商品放进推车,大概把推车里的商品掏出来从头放到货架,最初你推着推车往结账。
那末,在网上超市,客户也应当能够在扫瞄商品目次时,将中意的商品放进"电子推车"。电子推车是超等市场推车的电子化。在网上商铺里,这类电子推车又称为"购物推车",英文是ShoppingCart。
购物推车的计划方针
从程序员的概念来看,购物推车是保护购物者商品选购、同意观察、同意修正的一个工具。购物推车自己是一个十分复杂的程序,但开辟者要思索它将毗连到商品目次子体系、定单子体系、客户账号子体系、站点办理子体系等等,构成功效完全的网上商铺。
上面是购物推车的计划方针:
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)商品反省
购物推车的计划
购物推车必要三个要素:一个VBScript5的类classCartKit,一个多维数组mudCart,一个session变量Session("Cart")。
这个VBScript类,我们称为CartKit,包括了8个办法,如上表所示。在本文我们只用了ID和Qty,分离暗示商品编号和数目。
如许我们就能够用一个二维数组来表达这个推车,象上面如许:
商品编号商品数目
ID-123
ID-310
ID-236
ID-21
然后我们把这个二维数组保留到session变量中就能够了。
购物推车类CartKit的计划
请下载:CartKit.asp
CreateCart计划:
请看程序代码:
ClassCartKitREM入手下手类CartKit的界说
SubCreateCart()
IFIsArray(Session("Cart"))=falseTHEN
DimmudCart(19,1)
Session("Cart")=mudCart
ENDIF
EndSub
个中:Session("Cart")保留的就是推车的内容。假如推车不存在,我们就界说一个二维数组mudCart来表达推车,并将它保留到session("Cart")中。
CheckCart计划:
本函数判别Cart是不是已创立。对照复杂。
FunctionCheckCart()
IFIsArray(Session("Cart"))THEN
CheckCart=True
ELSE
CheckCart=False
ENDIF
EndFunction
CheckItem计划:
请看代码:
FunctionCheckItem(ID)
IFCheckCart=TrueTHEN
varMudCart=Session("Cart")
FORi=LBound(varMudCart)TOUBound(varMudCart)
IFvarMudCart(i,0)=IDTHEN
CheckItem=TRUE
ExitFunction
ELSEIFvarMudCart(i,0)IDTHEN
CheckItem=FALSE
ENDIF
NEXT
ENDIF
EndFunction
起首判别推车是不是存在。然后将商品的编号ID和购物推车中的商品编号一一对照。假如有相称的,前往真。不然为假。
AddItem(ID,Qty)计划:
请参考本文的附件CartKit.asp,这里先容的函数我们把它们封装到一个名为CartKit的class中。上面的代码段起首创立了一个CartKit工具,然后反省推车是不是已存在。假如不存在,就创立推车并新增商品;不然,反省商品编号是不是已存在于Cart中。假如是,就更新数目;不然,新增商品。
FunctionAddItem(ID,Qty)
SetCartObj=NewCartKit
varCartStatus=CartObj.CheckCart
IFvarCartStatus=falseTHEN
CartObj.CreateCart
mudCart=Session("Cart")
mudCart(0,0)=ID
mudCart(0,1)=Qty
Session("Cart")=mudCart
ExitFunction
ELSEIFvarCartStatus=trueTHEN
IFCartObj.CheckItem(ID)=trueTHEN
CartObj.UpdateItemID,Qty
ELSEIFcartObj.CheckItem(ID)=falseTHEN
mudCart=Session("Cart")
FORi=LBound(mudCart)TOUBound(mudCart)
IFmudCart(i,0)=""THEN
mudCart(i,0)=ID
mudCart(i,1)=Qty
Session("Cart")=mudCart
ExitFunction
ENDIF
NEXT
ENDIF
ENDIF
EndFunction
UpdateItem计划:
FunctionUpdateItem(ID,Qty)
mudCart=Session("Cart")
FORi=LBound(mudCart)TOUBound(mudCart)
IFmudCart(i,0)=IDTHEN
mudCart(i,1)=Qty
Session("cart")=mudCart
ExitFunction
ENDIF
NEXT
EndFunction
ViewItem计划:
FunctionViewItem()
mudCart=Session("Cart")
IFisArray(mudCart)THEN
%>
<table>
<tr>
<td>ItemName</td>
<td>ItemQuantity</td>
<td></td>
</tr>
<%
FORi=LBound(mudCart)TOUBound(mudCart)
IFmudCart(i,0)""THEN
%>
<tr>
<td><%=%></td>
<%
Response.Write"ItemID:"&mudCart(i,0)&"<--"
Response.Write"<BR>"
Response.Write"ItemQty:"&mudCart(i,1)&"<--"
Response.Write"<BR>"
ENDIF
NEXT
ELSEIFisArray(mudCart)=FalseTHEN
Response.Write"Noiteminyourcart!"
Response.Write"<BR>"
Response.Write"Ydon’tyoudoshop!"
ENDIF
EndFunction
RemoveItem(ID)计划:
FunctionRemoveItem(ID)
mudCart=Session("Cart")
’FindthePostion/IndexofgivenID.
Fori=LBound(mudCart)TOUbound(mudCart)
IFmudCart(i,0)=IDTHEN
Pos=i
ExitFor
ENDIF
Next
’DeleteProcess...
FORi=PosTOUBound(mudCart)-1
IFNotmudCart(i,0)=""THEN
mudCart(i,0)=mudCart(i+1,0)
ENDIF
Next
EndFunction
EndClassREM停止类CartKit的界说ASP.NET和ASP的比较,技术上比较已经没什么可说的了.新一代在大部分程度来说当然是比旧一代好了.关键看你对所做软件的理解了.因人而定.会写的话也可能比ASP.NET写得更有效率和更方便重用
作者:
爱飞
时间:
2015-1-18 21:44
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
作者:
精灵巫婆
时间:
2015-1-25 22:32
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
作者:
若天明
时间:
2015-2-4 10:38
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
作者:
再见西城
时间:
2015-2-9 22:11
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
作者:
谁可相欹
时间:
2015-2-28 00:27
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
作者:
admin
时间:
2015-3-9 17:31
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
作者:
简单生活
时间:
2015-3-17 00:36
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
作者:
莫相离
时间:
2015-3-23 11:16
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2