论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > ASP >

A400132网上图书销售系统

五.系统功能模块设计

5.1客户端

5.1.1购物篮 paper51.com

在设计购物篮中,首先要考虑到的是购物篮中商品信息的存储,而且在整个的商品购买中没有改变,这里就要用到ASP中的内置Session组件,它是访问者从的到达某个特定主页到离开为止的那段时间,服务器端给他分配一个用来储存信息的全局变量的集合,这些变量可以自动生成,也可以是程序人员在服务器端脚本程序中定义的。 paper51.com

Session可以用来存储访问者的特定信息,创建访问者信息容器。我们使用它来作为虚拟购物篮,无论什么时候用户在我网站中选择了一种商品,那么这种商品就会进入购物篮,当用户准备离开时,就可以立即进行以上所有选择的商品的订购。这些购物信息可以保存在 Session中。用户在Web应用程序中访问同一页面时,Session变量始终存在,当用户在应用程序的页之间跳转时,存储在Session对象中的变量也不会清除。

paper51.com

在建立购物篮中,其实是对全局变量的操作。在这里我定义了一个全局变量:ProductList = Session("ProductList"),将购物信息保存到此全局变量中。另外还定义了一个全局变量Products,通过函数PutToShopBag()将ProductList的值赋给Products,使用函数Split()将读取到的字符串进行分割,以得到购物信息:Products =Split(Request("cpbm"), ", ")。 内容来自www.paper51.com

/*建立购物篮的详细代码*/ copyright paper51.com

ProductList =Session("ProductList") http://www.paper51.com

Products = Split(Request("cpbm"),", ")

http://www.paper51.com

For i=0 ToUBound(Products)

copyright paper51.com

   PutToShopBag Products(i),ProductList http://www.paper51.com

Next

copyright paper51.com

Session("ProductList")= ProductList

paper51.com

/*函数PutToShopBag()代码*/

paper51.com

<%

http://www.paper51.com

Sub PutToShopBag( cpbm, ProductList )

内容来自论文无忧网 www.paper51.com

   If Len(ProductList)= 0 Then paper51.com

     ProductList = "'" & cpbm & "'" http://www.paper51.com

   ElseIf InStr(ProductList, cpbm ) <= 0 Then

paper51.com

     ProductList = ProductList & ", '" & cpbm &"'"

内容来自论文无忧网 www.paper51.com

   End If

copyright paper51.com

End Sub 内容来自论文无忧网 www.paper51.com

%> copyright paper51.com

购物篮界面如下图所示: http://www.paper51.com

http://www.paper51.com

在我的购物篮中可操作的事件为: 内容来自论文无忧网 www.paper51.com

◇    确认更改:在数量项目文本框中可以更改数目,该事件是用以更新购物篮中的商品数量; 内容来自论文无忧网 www.paper51.com

◇    继续购物:该事件是关闭窗口; paper51.com

◇    订单取消:该事件清空购物篮;

内容来自www.paper51.com

◇    去收银台:该事件是用来关闭窗口并重新打开新的窗口。

内容来自论文无忧网 www.paper51.com

除了购物篮中的可视化操作外,还有就是商品购入事件(即在网上商店的点击购买的事件)。现在我们称这些事件是用来触发购物篮中的工作模式,在每次的触发模式时,都有一个传递的数值变量通过来判断触发的是哪个工作模块。下面详细介绍购物篮(check.asp)各工作模式的具体实现: copyright paper51.com

1)     Add模式(购买添加) copyright paper51.com

用户点击他想购买的商品的“订购”链接时,通过调用函数OpenBag()来打开页面check.asp,“订购”链接把有关商品信息的资料字符传到check.asp,如下例: 内容来自www.paper51.com

function openbag(id) { paper51.com

window.open("check.asp?cpbm="+id,"","height=200,width=600,left=190,top=0,resizable=yes,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no");}

copyright paper51.com

在该触发事件触发时,执行check.asp, copyright paper51.com

     内容来自论文无忧网 www.paper51.com

对购物车执行了这次添加后,大部分其余的ASP代码就不再执行,因为它应用于其他的工作模式,模式的选择都是采用IF语句来实现的,而每次check.asp只会在一个模式下工作的。 http://www.paper51.com

2)     Record模式(更新数量) 内容来自论文无忧网 www.paper51.com

该模式用于顾客项购买多件货物时,自动重新计算所需的货物总价格。用户以用它马上看到改过的数量后的结果。

http://www.paper51.com

如下面的语句: copyright paper51.com

Sum = 0

http://www.paper51.com

   While Not rs.EOF

内容来自论文无忧网 www.paper51.com

     Quatity = CInt(Request( "Q_" & rs("Product_Id")) ) paper51.com

     If Quatity <= 0Then

内容来自论文无忧网 www.paper51.com

       Quatity = CInt( Session(rs("Product_Id")) )

内容来自www.paper51.com

        IfQuatity <= 0 Then Quatity = 1 end if

内容来自www.paper51.com

     End If

copyright paper51.com

    Session(rs("Product_Id")) = Quatity

http://www.paper51.com

Sum = Sum +ccur(rs("P_NewPrice")) * Quatity paper51.com

在输入文本框中时,该程序将对其输入的值进行判断,是否是数字的字符,以避免存储出错,造成不必要的麻烦。其判断函数如下(采用Javascript脚本语言编写): paper51.com

//功能介绍:检查是否为数字 内容来自www.paper51.com

//参数说明:要检查的数字 内容来自论文无忧网 www.paper51.com

//返回值:1为是数字,0为不是数字

内容来自www.paper51.com

function fucCheckNUM(NUM)

内容来自论文无忧网 www.paper51.com

{ http://www.paper51.com

var i,j,strTemp;

内容来自www.paper51.com

strTemp="0123456789";

内容来自www.paper51.com

if ( NUM.length== 0) paper51.com

     return 0

http://www.paper51.com

for (i=0;i<NUM.length;i++)

paper51.com

{ http://www.paper51.com

     j=strTemp.indexOf(NUM.charAt(i));  

内容来自www.paper51.com

     if (j==-1)

paper51.com

     { 内容来自论文无忧网 www.paper51.com

     //说明有字符不是数字 http://www.paper51.com

         return 0; 内容来自www.paper51.com

     }

内容来自www.paper51.com

}

内容来自www.paper51.com

//说明是数字

paper51.com

return 1; 内容来自www.paper51.com

}

copyright paper51.com

这种预先判断的处理方式,很大的程度上解决了非法输入对后面的存储所带来的一系列问题。 copyright paper51.com

3)     DelAll模式(清空购物篮)  

内容来自www.paper51.com

这个是对购物篮的商品进行清空的处理,其实就是对全局变量ProductList赋空值(Session("ProductList") = "")。通过调用函数clean()来执行clear.asp.

copyright paper51.com

4)     LinkTo模式(去收银台)

内容来自论文无忧网 www.paper51.com

onclick="window.opener.location.href='PayMent.asp';window.close();"

内容来自论文无忧网 www.paper51.com

    该模式通过点击触发事件onclick来调用并执行PayMent.asp,并关闭当前购物篮。该事件不能对所购买的商品数量的更改而更改,只能通过确认更改来实现。 内容来自论文无忧网 www.paper51.com

5)     继续购物 http://www.paper51.com

该摸块也是调用Window对象中的window.close()函数,它回自动的关闭购物篮的窗口,该事件也不能对所购买的商品数量的更改而更改。 paper51.com

说明:在这里会出现一种情况,就是说如果未购买任何商品的话,则将返回一提示信息。 copyright paper51.com

内容来自www.paper51.com

------分隔线----------------------------
联系方式