网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > ASP类作品 > 正文

基于ASP的网上售书系统

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

鉴于大家对ASP类作品十分关注,我们编辑小组在此为大家搜集整理了“基于ASP的网上售书系统”一文,供大家参考学习!

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

五.系统功能模块设计

51客户端

511购物篮

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

 

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

 

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

 

*建立购物篮的详细代码*/

ProductList = Session("ProductList")

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

For i=0 To UBound(Products)

   PutToShopBag Products(i), ProductList

Next

Session("ProductList") = ProductList

 

/*函数PutToShopBag()代码*/

<%

Sub PutToShopBag( cpbm, ProductList )

   If Len(ProductList) = 0 Then

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

   ElseIf InStr( ProductList, cpbm ) <= 0 Then

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

   End If

End Sub

%>

购物篮界面如下图所示:


 

在我的购物篮中可操作的事件为:

     确认更改:在数量项目文本框中可以更改数目,该事件是用以更新购物篮中的商品数量;

     继续购物:该事件是关闭窗口;

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

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

 

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

 

1)      Add模式(购买添加)

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

function openbag(id) {

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");}

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

    

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

 

2)      Record模式(更新数量)

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

如下面的语句:

Sum = 0

   While Not rs.EOF

     Quatity = CInt( Request( "Q_" & rs("Product_Id")) )

     If Quatity <= 0 Then

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

        If Quatity <= 0 Then Quatity = 1 end if

     End If

     Session(rs("Product_Id")) = Quatity

Sum = Sum + ccur(rs("P_NewPrice")) * Quatity

 

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

//功能介绍:检查是否为数字

//参数说明:要检查的数字

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

function fucCheckNUM(NUM)

{

var i,j,strTemp;

strTemp="0123456789";

if ( NUM.length== 0)

     return 0

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

{

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

     if (j==-1)

     {

     //说明有字符不是数字

         return 0;

     }

}

//说明是数字

return 1;

}

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

 

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

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

 

4)      LinkTo模式(去收银台)

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

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

 

5)      继续购物

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

 

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

 

本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师