小魔女 发表于 2015-2-3 23:41:29

ASP网页设计在ASP中完成购物小车

ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。Apache ASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。   为了解说便利,凸起重点,本文用数组完成要显示的商品信息。但在实践的体系开辟中,这些商品信息的数据应当来自后台数据库。


在法式中,咱们界说了一个sp数组并对其赋值,然后用一个轮回完成其数据显示及对下一个法式的数据传递。法式局部代码以下:


<% i=1


do while (i<=5) %>


<tr > <td><%=sp(i)%></td>


<td><a href=“cart.asp?spid=<%=sp(i)%>”>订购</a></td> </tr>


<% i=i+1


loop %>


构建购物小车


为处置用户订购商品的操作,咱们自界说了两个Session的属性,分离是“spid”(用来保留商品称号)和“num”(用来保留响应商品的订购数目)。当用户订购了一种商品后,咱们分三种情形对Session停止处置:


●购物小车为空,即Session(“spid")=“",直接将spid与num到场Session;


●购物小车非空且以后订购的商品是购物小车中没有的,则处置办法同上;


●购物小车非空但以后订购的商品是购物小车中已有的,Session坚持不变。


法式完成的要点是若何辨别以后订购的商品在购物小车中是不是存在,因而,起首要将Session变量的内容拆分并存入数组:


array1=split(Session(“spid”),“:”)


然后用轮回语句辨别array1中是不是有元素与传递来的spid不异并将了局存入变量ifbuy:


for i=0 to ubound(array1)-1


if array1(i)= Request.QueryString(“spid”) then


ifbuy=true


exit for


end if


next


将新增的商品信息到场Session:


Session(“spid”)=Session(“spid”)& Request.


QueryString(“spid”)&“:”


Session对象的另外一个自界说属性num的处置同spid不异。


购物小车的显示


显示用户已购置的商品信息,便是显示Session变量的内容。只需将Session变量的内容拆分,存入数组中,再显示数组的内容便可。购物小车的显示界面如图1所示,个中“数目”栏的类型为“text",“作废本商品”栏的类型为“checkbox”。这两栏的数据是可以变化的,在“作废本商品”栏中打“√”,再按“从头盘算”,将在购物小车中作废该商品。



图1


“从头盘算”和“持续购置”两个号令按钮用javascript完成:


<scriptlanguage=“javascript">


<!--


functiononback(theForm)


{window.history.back()}


functionrecal(theForm)


{theform.action=“modifycart.asp"}


-->


</script>


完成显示购物小车的代码以下:


<%


dimk


array1=split(Session(“spid”),“:”)


array2=split(Session(“num”),“:”)


k=0


dowhilek<ubound(array1)%>


<tr>


<td><palign=“center”><%=array1(k)%>


</p></td>


<td><p><inputtype=“text”name=“t1”size=“10”value=“<%=array2(k)%>”></p></td>


<td><p><inputtype=“checkbox”name=


“ifcancel”value=<%=k%>></p></td></tr>


<%k=k+1


loop%>


<tr>


<tdalign=centerheight=“42”colspan=“2”>


<inputtype=“submit”name=“submit”value=“从头盘算”


onclick=“returnrecal(this.form)”></td>


<tdalign=centerheight=“42”colspan=“3”>


<inputtype=“submit”name=“Submit”value=“持续购置”


onclick=“returnonback(this.form)”></td>


</tr>


购物小车的修正


在用户点击“从头盘算”按钮后,需求对购物小车的内容停止修正,包含对数目的修正和将被作废的商品从Session中删除。


关于数目的修正,只需将文本框中被变化过的数据从头存入Session中便可:


<%


’起首将保留在Session变量中的订购数目提掏出来


array=split(Session(“num”),“:”)


’将文本框t1中商品的数目提掏出来,存入array数组中


ifRequest.Form(“t1”)<>“”then


Session(“num”)=“”


j=0


foreachiteminRequest.Form(“t1”)


array(j)=item


j=j+1


next


’将提交后的商品数目放入Session变量中


fori=0toubound(array)-1


Session(“num”)=Session(“num”)&array(i)&“:”


next


endif%>


要从Session中删除被选中的商品,起首要获得“checkbox”的前往值,它用来定位被作废的商品在Session变量中的地位。“checkbox”的前往值k是一个轮回变量,是商品地点行的行数,其实也就是被选中商品在Session中的地位。假如不加前往值界说的话,“checkbox”的前往值是按天然数按次分列的。例如,在图1所示的情形下,假如“电视机”和“书本”两行被选中,若是“checkbox”不加前往值界说,它的前往值将分离为1和2,如许就会招致把“电视机”和“钢笔”从Session中删除的毛病。


<%dimarray1,array2,ifcancel(20),m1,m2,i,j


array1=split(Session(“spid”),“:”)


array2=split(Session(“num”),“:”)


m1=ubound(array1)-1


m2=ubound(array2)-1


’保留复选框checkbox的值


fori=1toRequest.Form(“ifcancel”).Count


ifcancel(i)=Request.Form(“ifcancel”)(i)


next


fori=1toRequest.Form(“ifcancel”).Count


’将checkbox选中的spid和num从Session中去失落


forj=ifcancel(j)tom1-1

</p>因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。

若相依 发表于 2015-2-4 06:03:26

ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。

柔情似水 发表于 2015-2-5 19:02:53

尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。

再见西城 发表于 2015-2-13 05:32:02

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。

仓酷云 发表于 2015-2-28 03:56:26

不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍

莫相离 发表于 2015-3-9 20:42:37

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

简单生活 发表于 2015-3-17 01:02:33

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

admin 发表于 2015-3-17 02:07:56

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。

若天明 发表于 2015-3-22 01:07:01

虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。

乐观 发表于 2015-4-1 23:09:52

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

分手快乐 发表于 2015-4-11 06:10:12

兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的

爱飞 发表于 2015-4-11 12:53:45

没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。

透明 发表于 2015-4-12 22:28:43

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。

精灵巫婆 发表于 2015-4-16 05:33:59

没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。

山那边是海 发表于 2015-4-25 20:02:46

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。

飘飘悠悠 发表于 2015-5-11 02:26:06

Session:这个存储跟客户端会话过程的数据,默认20分钟失效

再现理想 发表于 2015-6-11 21:09:08

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

蒙在股里 发表于 2015-6-18 05:12:45

没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。

小魔女 发表于 2015-6-19 05:23:33

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
页: [1]
查看完整版本: ASP网页设计在ASP中完成购物小车