用ASP编写购物车代码

合集下载

html简单的购物车界面代码(全选,取消全选,批量删除,清零

html简单的购物车界面代码(全选,取消全选,批量删除,清零

html简单的购物车界面代码(全选,取消全选,批量删除,清零这是一个简单的HTML购物车界面代码,包括全选、取消全选、批量删除和清零功能:<!DOCTYPE html><html><head><title>购物车</title><script>// 全选/取消全选function selectAll() {var checkboxes =document.querySelectorAll('input[name="item"]');for (var i = 0; i < checkboxes.length; i++) {checkboxes[i].checked = true;}}function deselectAll() {var checkboxes =document.querySelectorAll('input[name="item"]');for (var i = 0; i < checkboxes.length; i++) {checkboxes[i].checked = false;}}// 批量删除function deleteSelected() {var checkboxes =document.querySelectorAll('input[name="item"]');for (var i = 0; i < checkboxes.length; i++) {if (checkboxes[i].checked) {checkboxes[i].parentNode.parentNode.remove();}}}// 清零function clearCart() {var cart = document.getElementById('cart');cart.innerHTML = "";}</head><body><h1>购物车</h1><table id="cart"><tr><th><input type="checkbox"onclick="selectAll()" />全选</th><th>商品</th><th>价格</th></tr><tr><td><input type="checkbox" name="item" /></td><td>商品1</td><td>10元</td></tr><tr><td><input type="checkbox" name="item" /></td><td>商品2</td><td>20元</td><tr><td><input type="checkbox" name="item" /></td><td>商品3</td><td>30元</td></tr></table><br /><button onclick="deselectAll()">取消全选</button> <button onclick="deleteSelected()">批量删除</button><button onclick="clearCart()">清零</button></body></html>以上代码展示了一个简单的购物车界面,包含商品列表、全选、取消全选、批量删除和清零功能。

ASP 简单购物车

ASP  简单购物车

ASP 简单购物车
在电子商务网站中,购物车是一个最常用的功能,它记录的用户的消费过程,使用户在购买商品的过程中更加方便、快捷。

本次练习使用Session对象来建立一个简单的购物车实例,使读者熟悉Session 对象的具体应用。

具体步骤如下:
(1)创建shopmain.asp页面。

该页面显示购物广场的软件信息,用户可以通过复选框按钮选择自己感兴趣的软件。

单击【放入购物车】按钮就可以提交购买信息。

还可以通过超链接去购买别的商品、查看购物信息等。

具体效果如图3-9所示。

图3-9 软件商品
(2)创建shop2.asp页面。

该页面于shopmain页面相似,显示购物广场的硬件信息,如笔记本,MP3等。

也可以通过单击【放入购物车】按钮就可以提交购买信息,通过超链接去购买别的商品、查看购物信息等。

具体效果如图3-10所示。

(3)在shopmain.asp和shop2.asp页面中,使用Session对象保存用户购买信
象输出消费信息。

使用购物车的效果如图3-11所示。

图3-11 显示购物信息。

基于ASP的小型网上商城的设计与实现

基于ASP的小型网上商城的设计与实现

1 系 统设 计
11 需 求 分 析 .
2 系 统 实现
21 商 品展 示 . 用 户 未 登 录 之 前 只 能 浏 览 和 搜 索 商 品 , 法 实 现 购 物 。 只有 经 过 无 首 页分 类 显 示 所 有 商 品 , 当用 户 单 击 某 件 商 品 时 , 显 示 该 商 品 会 系统 验 证 的 合 法 用 户 才 能 参 加 购 物 活 动 。 用 户 登 录 之 后 可 以搜 索 商 的详 细 信 息 。 品, 选择 好 商 品 后 , 击 “ 物 ” 接 就 可 以 把 商 品添 加 到 购 物 车 里 或 点 购 链 下 面是 部 分 关 键 代 码 :
科技信 息
OI T论坛 O
S IN E&T C NO O F R T O CE C E H L GYI O MP S 的小型网上商城的设计与实现
刘 鹏 飞 ’ 刘 雯 ( . 壁职 业技 术学 院 电子信 息 工程 系 河南 鹤 壁 4 8 3 1鹤 5 0 0; 2濮 阳职 业技 术 学院数 学 与信 息工 程 系 河 南 濮 阳 4 7 0 ) . 5 0 0
【 摘 要】 本系统分为客 户端和 管理 端两大功 能模块 。 客户端 负责前 台操作 , 主要 由用户操作 , 包括浏览商品、 用户注册和商品订 购等; 管理 端 负责 后 台操 作 , 主要 由 管理 员操 作 , 包括 用 户 管理 、 商品 管理 和 订 单 管理 等 。 【 关键词】 P; AS 网上 商城 ; 购物车
块 . 下 图 所 示 如
Ele s
Ssin” iddl ” ” es (Kn lI=0 o 1 Esi R q et u rSf g” idd 1> ”T e le eu sQ ey tn(K nl”< ” hn f . i 这 表 示 用 户 选 择 了具 体 类 别 Kn I= e us.urSr g” n l” idd R q et eytn (K dd) Q i i

网站代码

网站代码

网上商城1<HTML><BODY BGCOLOR="LightYellow"><TABLE BORDER="0" ALIGN="Center"><CAPTION align=center><A HREF="ShoppingCar.asp">查看购物车</A></CAPTION><TR BGCOLOR="#BABA76" HEIGHT="30" ALIGN="Center"><%' 使用Connection对象打开数据库文件Set objConn = Server.CreateObject("ADODB.Connection")objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _"Data Source=" & Server.MapPath("store.mdb") objConn.Open' 从数据表中读取符合SQL语句的记录并存放在Recordset对象中Set objRS = Server.CreateObject("ADODB.Recordset")strSQL = "SELECT * FROM 商品"objRS.Open strSQL, objConn, 1,1' 读取数据表的字段名称以作为表格的标题For I = 0 To objRS.Fields.Count - 1Response.Write "<TD>" & objRS.Fields(I).Name & "</TD>"NextResponse.Write "<TD>数量</TD>"Response.Write "<TD>订购</TD>"' 读取各个字段的数据并显示在表格内Do While Not objRS.EOFData = "<TR HEIGHT='30' BGCOLOR='#EDEAB1'>"For I = 0 To objRS.Fields.Count - 1Data = Data & "<TD>" & objRS.Fields(I).V alue & "</TD>"NextResponse.Write Dataf1="<FORM METHOD='POST' ACTION='AddToCar.asp?uid="f2= objRS("商品编号") & "&name=" & objRS("名称")f3= "&company=" & objRS("生产商") & "&Price=" & objRS("定价") & "'>"f4="<INPUT TYPE='text' NAME='Quantity' SIZE='5'></TD>"f5="<INPUT TYPE=SUBMIT VALUE=放入购物车></TD></FORM>"Response.Write "<TD ALIGN=Center>" & f1 & f2 & f3 & f4Response.Write "<TD ALIGN=Center>" & f5objRS.MoveNextLoop' 关闭数据库连接并释放对象objRS.CloseSet objRS = NothingobjConn.CloseSet objConn = Nothing%></TABLE></BODY></HTML>2<HTML><BODY BGCOLOR="LightYellow"><%' 使用Connection对象打开数据库文件Set objConn = Server.CreateObject("ADODB.Connection")objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _"Data Source=" & Server.MapPath("store.mdb") objConn.Open' 从数据表中读取符合SQL语句的记录并存放在Recordset对象中Set objRS = Server.CreateObject("ADODB.Recordset")strSQL = "SELECT * FROM 购物单"objRS.Open strSQL, objConn, 1, 1If objRS.EOF ThenResponse.Write "<CENTER>目前购物车内没有任何商品!</P>"Response.Write "<P><A HREF='Shop.asp'>返回网上超市</A></P></CENTER>"Else%><P ALIGN="Center"><A HREF='Shop.asp'>返回网上超市</A><TABLE BORDER="0" ALIGN="Center"><TR BGCOLOR="#ACACFF" HEIGHT="30" ALIGN="Center"><%'读取数据表的字段名称以作为表格的标题For I = 0 To objRS.Fields.Count - 1Response.Write "<TD>" & objRS.Fields(I).Name & "</TD>"NextResponse.Write "<TD>&nbsp;</TD></TR>"Total = 0 '这个变量用来统计总金额Do While Not objRS.EOFData = "<TR HEIGHT='30' BGCOLOR='#EAEAFF'>"For I = 0 To objRS.Fields.Count - 1Data = Data & "<TD>" & objRS.Fields(I).V alue & "</TD>"NextResponse.Write Datadele="<TD><A HREF='Delete.asp?No=" & objRS("编号")Response.Write dele & "'>删除</A></TD></TR>"Total = Total + objRS("金额") '将金额累计以得出总金额objRS.MoveNextLoop'关闭数据库连接并释放对象objRS.CloseSet objRS = NothingobjConn.CloseSet objConn = Nothing%><CAPTION ALIGN=left V ALIGN=bottom>购物车中商品的总金额:<%= Total %></CAPTION></TABLE><% End If %></BODY></HTML>3<HTML><BODY BGCOLOR="LightYellow"><%No = Request("No")Set objConn = Server.CreateObject("ADODB.Connection")objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _"Data Source=" & Server.MapPath("store.mdb") objConn.OpenstrSQL = "DELETE * FROM 购物单WHERE 编号= " & NoobjConn.Execute(strSQL)%><!-显示成功信息及返回购物车的超链接--><CENTER><P>您所选取的商品及数量已成功地移出购物车!<P><P><A HREF="ShoppingCar.asp">返回购物车</A></P></CENTER></BODY></HTML>4<%uid = Request("uid") ' 读取商品编号name = Request("name") ' 读取商品名称company = Request("company") ' 读取生产商Price = Request("Price") ' 读取定价if not isnumeric(Request("Quantity")) then%><script language="vbscript">alert ("请正确输入定购的数量")history.back</script><%elseQuantity = Request("Quantity") ' 读取数量subTotal = Price * Quantity ' 计算金额=定价*数量' 新增记录' 使用Connection对象打开数据库文件Set objConn = Server.CreateObject("ADODB.Connection")objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _"Data Source=" & Server.MapPath("store.mdb") objConn.Open' 从数据表中读取记录并存放在Recordset对象中Set objRS = Server.CreateObject("ADODB.Recordset")objRS.Open "购物单", objConn,1,2objRS.AddNew Array( "商品编号","名称","生产商","定价","数量","金额"), _ Array(uid,name,company,Price,Quantity,subTotal)objRS.Update' 关闭数据库连接并释放对象objRS.CloseSet objRS = NothingobjConn.CloseSet objConn = Nothing%><script language="vbscript">alert ("您所选取的商品已成功地放入购物车!")history.back</script><%end if%>职工工资管理<HTML><BODY BGCOLOR="#9CCDCD"><P align=center><FONT face=隶书size=6>职工工资管理</FONT><TABLE ALIGN="Center" WIDTH="100%" BORDER="0"><TR HEIGHT="30" BGCOLOR="#EDF5F5" ALIGN="Center"><TD><A HREF="list1.asp?no=First" TARGET="Bottom">第一个</A></TD><TD><A HREF="list1.asp?no=Previous" TARGET="Bottom">上一个</A><TD><A HREF="list1.asp?no=next" TARGET="Bottom">下一个</A><TD><A HREF="list1.asp?no=last" TARGET="Bottom">最后一个</A><TD><A HREF="list2.asp" TARGET="Bottom">修改</A></TD><TD><A HREF="list3.asp" TARGET="Bottom">增加</A></TD><TD><A HREF="list4.asp" TARGET="Bottom">删除</A></TD></TR></TABLE></BODY></HTML>list1<HTML><HEAD><title>职工工资</title></HEAD><BODY><%Sub ShowPage(objRS,no)objRS.AbsolutePosition=no ' 指定当前记录号' 显示单记录For J=0 To objRS.Fields.Count-1Data="<TR><td >" & objRS.Fields(j).nameData=Data & "<td>" & objRS.Fields(j).ValueResponse.Write dataNextEnd Subset conn=server.createobject("adodb.Connection")CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")conn.Openset rs=server.createobject("adodb.recordset")rs.open "职工工资",conn,1,2,2If Request("no") = "" ThenSession("no")=1elseselect case Request("no")case "First"Session("no")=1case "Previous"Session("no")=Session("no")-1case "next"Session("no")=Session("no")+1case "last"Session("no")=RS.RecordCountend selectEnd Ifif Session("no")>RS.RecordCount then Session("no")=RS.RecordCountif Session("no")<1 then Session("no")=1Response.write "<table border=1 align=center cellspacing=0 cellpadding=4 height=390>"Response.write "<TR><td width=100><td width=195>"ShowPage RS, Session("no")Response.write "</table>"RS.closeset RS=nothingconn.closeset conn=nothing%></BODY></HTML>list2<HTML><HEAD><title>职工工资</title></HEAD><BODY><%Sub ShowPage(objRS,no)objRS.AbsolutePosition=no ' 指定当前记录号' 显示单记录For J=0 To objRS.Fields.Count-1Data="<TR><td >" & objRS.Fields(j).nameData=Data & "<td>" & objRS.Fields(j).ValueResponse.Write dataNextEnd Subset conn=server.createobject("adodb.Connection")CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")conn.Openset rs=server.createobject("adodb.recordset")rs.open "职工工资",conn,1,2,2If Request("no") = "" ThenSession("no")=1elseselect case Request("no")case "First"Session("no")=1case "Previous"Session("no")=Session("no")-1case "next"Session("no")=Session("no")+1case "last"Session("no")=RS.RecordCountend selectEnd Ifif Session("no")>RS.RecordCount then Session("no")=RS.RecordCountif Session("no")<1 then Session("no")=1Response.write "<table border=1 align=center cellspacing=0 cellpadding=4 height=390>"Response.write "<TR><td width=100><td width=195>"ShowPage RS, Session("no")Response.write "</table>"RS.closeset RS=nothingconn.closeset conn=nothing%></BODY></HTML>list3<HTML><HEAD><title>职工工资</title></HEAD><BODY><%Sub ShowPage(objRS,no)objRS.AbsolutePosition=no ' 指定当前记录号' 显示单记录For J=0 To objRS.Fields.Count-1Data="<TR><td >" & objRS.Fields(j).nameData=Data & "<td>" & objRS.Fields(j).ValueResponse.Write dataNextEnd Subset conn=server.createobject("adodb.Connection")CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")conn.Openset rs=server.createobject("adodb.recordset")rs.open "职工工资",conn,1,2,2If Request("no") = "" ThenSession("no")=1elseselect case Request("no")case "First"Session("no")=1case "Previous"Session("no")=Session("no")-1case "next"Session("no")=Session("no")+1case "last"Session("no")=RS.RecordCountend selectEnd Ifif Session("no")>RS.RecordCount then Session("no")=RS.RecordCountif Session("no")<1 then Session("no")=1Response.write "<table border=1 align=center cellspacing=0 cellpadding=4 height=390>"Response.write "<TR><td width=100><td width=195>"ShowPage RS, Session("no")Response.write "</table>"RS.closeset RS=nothingconn.closeset conn=nothing%></BODY></HTML>list4<HTML><HEAD><title>职工工资</title></HEAD><BODY><%Sub ShowPage(objRS,no)objRS.AbsolutePosition=no ' 指定当前记录号' 显示单记录For J=0 To objRS.Fields.Count-1Data="<TR><td >" & objRS.Fields(j).nameData=Data & "<td>" & objRS.Fields(j).ValueResponse.Write dataNextEnd Subset conn=server.createobject("adodb.Connection")CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")conn.Openset rs=server.createobject("adodb.recordset")rs.open "职工工资",conn,1,2,2If Request("no") = "" ThenSession("no")=1elseselect case Request("no")case "First"Session("no")=1case "Previous"Session("no")=Session("no")-1case "next"Session("no")=Session("no")+1case "last"Session("no")=RS.RecordCountend selectEnd Ifif Session("no")>RS.RecordCount then Session("no")=RS.RecordCountif Session("no")<1 then Session("no")=1Response.write "<table border=1 align=center cellspacing=0 cellpadding=4 height=390>"Response.write "<TR><td width=100><td width=195>"ShowPage RS, Session("no")Response.write "</table>"RS.closeset RS=nothingconn.closeset conn=nothing%></BODY></HTML>list5<%Sub ShowPage(objRS, PageNo)' 设置目前页次,然后利用For...Next 循环显示出该页的记录objRS.AbsolutePage=PageNoFor I=1 To objRS.PageSizeData="<TR>"For J=0 To objRS.Fields.Count-1Data=Data & "<TD>" & objRS.Fields(j).Value & "</TD>"NextResponse.write DataobjRS.MoveNextIf objRS.EOF Then Exit ForNextEnd Sub%><HTML><HEAD><title>职工工资</title></HEAD><BODY><P align=center><FONT face=隶书size=6>职工工资</FONT></br><%set conn=server.createobject("adodb.Connection")CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")conn.Openset rs=server.createobject("adodb.recordset")rs.open "职工工资",conn,1,1,2if rs.EOF thenResponse.Write "数据库中暂无资料!"elseResponse.write "<table border=1 align=center cellspacing=0 cellpadding=4>"Response.write "<tr align=center>"RS.PageSize=8 ' 设置分页大小For I=1 To RS.PageCount ' 显示页次超级链接Response.write "<A HREF='list5.asp?Page="& I & "'>" &_"第" & I & "页" & "</A>" & "&nbsp;&nbsp;"Next' 读取表的字段名称以作为表格的标题for i=0 to rs.fields.count-1Response.Write "<td>" & rs.fields(i).namenextResponse.Write "</tr>"' 调用记录显示Sub过程If Session("Page") & Request("Page") = "" ThenShowPage RS, 1elseif Request("Page") <> "" Then Session("Page")=Request("Page")ShowPage RS, Session("Page")End Ifend ifrs.Closeset rs=nothing%></table></BODY></HTML>list6<%Sub ShowPage(objRS,no,a)objRS.AbsolutePosition=noif len(a)>0 thenFor J=1 To objRS.Fields.CountobjRS.Fields(j-1).value=a(j)nextobjRS.Updateend ifFor J=0 To objRS.Fields.Count-1Data="<TR><td>"Data=Data & objRS.Fields(j).nameData=Data & "<td><Input Type=text name='txt' value="Data=Data & objRS.Fields(j).Value & ">"Response.Write dataNextEnd Sub%><HTML><HEAD><title>职工工资</title></HEAD><BODY><FORM METHOD='POST' name=frm1 ACTION='list6.asp'> <P align=center><FONT face=隶书size=6>职工工资</FONT><br> <%set conn=server.createobject("adodb.Connection")CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")conn.Openset rs=server.createobject("adodb.recordset")rs.open "职工工资",conn,1,2,2If Session("no") = "" ThenSession("no")=1elseselect case Request("no")case "First"Session("no")=1case "Previous"Session("no")=Session("no")-1case "next"Session("no")=Session("no")+1case "last"Session("no")=RS.RecordCountend selectEnd Ifif Session("no")>RS.RecordCount then Session("no")=RS.RecordCount if Session("no")<1 then Session("no")=1b1="<A name=a1 HREF='list6.asp?no=First'>" & "第一个" & "</A> "b2="<A name=a2 HREF='list6.asp?no=Previous'>" & "上一个" & "</A> " b3="<A name=a3 HREF='list6.asp?no=next'>" & "下一个" & "</A> "b4="<A name=a4 HREF='list6.asp?no=last'>" & "最后一个" & "</A>" Response.write b1 & b2 & b3 & b4Response.write "<table border=1 align=center cellspacing=0 cellpadding=4>" Response.write "<TR><td width=100><td width=100>"ShowPage RS, Session("no"),Request.form("txt")Response.write "</table>"RS.closeconn.close%><INPUT type=submit value="确定修改"><SCRIPT for=txt event=onchange LANGUAGE=VBScript>w=ccur(frm1.txt(3).value)+frm1.txt(4).value+frm1.txt(5).value+frm1.txt(6).value w=w-frm1.txt(7).value-frm1.txt(8).valuefrm1.txt(9).value=w</SCRIPT></Form></BODY></HTML>。

ASP.NET 2.0打造购物车和支付系统之一

ASP.NET 2.0打造购物车和支付系统之一

2.0打造购物车和支付系统之一来源:天极软件作者:朱先忠编译2006年10月11日08:30网友评论:0条点击:1719摘要在本系列文章中,我们基于 2.0构建了一个简化的在线购物车和PayPal系统;并通过这个示例,对 2.0中新引入的GridView控件作了深入研究。

到目前为止,我几乎在每一个我参加过的商业C#.net工程中使用了DataGrid 控件;因此,当我第一次听到有关于GridView是如何提高工作效率时,我飞快地试用了它。

DataGrid和GridView都是 2.0中提供的新的控件类,它们允许你快速容易地显示表格式数据;并且当在线观看它们时,它们都能被转换为客户端HTML表格进行显示。

一. 简介这是系列文章的第一篇。

在本篇中,我们将通过一个简单的网上商店示例程序来集中讨论GridView控件的一些用法。

注意,在每一篇文章中我们都使用相同的源文件。

为了观察本文示例演示效果,你只需要把下载内容解压到你的web服务器上一个新的目录并浏览到该目录名即可。

例如,如果你把所有的内容解压到一个你的web服务器根目录下的目录"gridviewshop",并导航到这个目录:/gridviewshop如果一切顺利,那么你应该会看到一个如下图1所示的站点:图1.本系列文章网上商店演示程序快照。

二. GridView如果你已经使用DataGrid实现了你的系统,包括你自己的定制分页与排序方案,那么,你真正不需要考虑更新到GridView;因为从终端效果来看,它们都生成相同的内容(都生成一个HTML表格)。

然而,如果你刚开始开发一个新的系统,那么,我建议你使用GridView,特别是如果你想利用它内置的分页与排序功能的话。

通过在设计时刻设置各种属性,你可以控制GridView从外观到功能等若干方面。

在本系列文章后面,我们将会更为深入地探讨这些方面,通过把一些CSS类指派给表格行和表格列头;当然,还要添加一些事件处理器以便允许用户与每一行数据进行交互。

实验6-1 利用ASP Session实现购物车功能

实验6-1 利用ASP Session实现购物车功能

实验6-1 利用会话实现购物车功能1 在站点下建立一个Global.asa文件,中输入以下的内容(若该文件存在的话,则添加以下的内容):SUB Session_OnStartSession("idcustomer")=""Session("adminname")=""Session("cartIndex")=Cint(0) '用于存放购物车内的货物数ReDim arrcart(50,3)Session("myCart")=arrcart '二维数组用于存放货物名称END SUBSUB Session_OnEndset Session("idCustomer")=Nothingset Session("adminname")=Nothingset Session("cartIndex")=Nothingset Session("myCart")=NothingEND SUB说明:Global.asa 文件是一个可选的文件,它可包含可被 ASP 应用程序中每个页面访问的对象、变量以及方法的声明。

Global.asa 文件须存放于 ASP 应用程序的根目录中,且每个应用程序只能有一个Global.asa 文件。

详细内容参见/asp/asp_globalasa.asp2 建立挑选商品网页mechase.html,内容如下:<html><head><title>挑选商品</title></head><body><form name="form1" method="post" action="addcart.asp"> 图书编号<input type="text" name="idbook" size=3>商品名称<select name="bookname"><option value="数学">数学</option><option value="语文">语文</option><option value="物理">物理</option><option value="化学">化学</option></select>购买数量<input type="text" name="quantity" size=3> <br> <input type="submit" name="submit1" value="放入购物车"> </form></body></html>3 建立放入购物车网页addcart.asp,内容如下:<html><head><title>放入购物车</title></head><body><%arrCart=Session("myCart")CartIndex=Session("cartIndex")count=0for i=0 to CartIndexif arrCart(i,2)<>"" thenif arrCart(i,2)>0 thencount=count+1end ifend ifnext'count中为统计出的购物车中所购商品的总数,用于价格计算idbook=request("idbook")bookname=request("bookname")quantity=request("quantity")if quantity<>"" thenquantity=Cint(quantity)'newprice=查询数据库来计算新的价格if quantity>0 thenarrCart(CartIndex,0)=idbookarrCart(CartIndex,1)=booknamearrCart(CartIndex,2)=quantity'arrCart(CartIndex,3)=newpriceSession("myCart")=arrCartSession("cartIndex")=CartIndex+1response.redirect "showcart.asp" '转到显示购物车内容的网页 end ifelseresponse.write "你没有选择购买数量!"end if%></body></html>。

.NET4.0 制作购物车

.NET4.0  制作购物车

4.0 制作购物车在购物网站中,购物车是一个非常常用的功能,它可以记录用户的消费过程,使用户的购买更加的方便、快捷。

本例就将会使用Session对象来建立一个简单的购物车程序,具体步骤如下所示:(1)在Visual Studio中,创建名为Shopping的应用程序。

该程序共包括分别是商品选择页面、查看商品信息、查看购物列表等3个页面。

1.查看商品信息(1)再次执行【文件】|【新建】|【文件】命令,创建名为info的aspx页面,并打开该页面。

(2)复制Default.aspx页面中的内容,粘贴至info.aspx页面中。

然后,将id 为main的Div标签内的内容删除。

(3)在id为main的Div标签内,添加id为pimg的Image控件,并设置其宽(4)然后,在id为pinfo的Div标签内,添加id分别为pname、size、color、(5)在Style标签内对Image控件及id为pinfo的Div标签的CSS样式进行设置,代码如下所示。

(6)打开info.aspx.cs代码页,将光标置于Page_Load()函数中。

该函数用于根(7)为ImageButton1添加单击事件触发函数ImageButton1_Click(),该函数用于当用户单击ImageButton1时将商品信息存储至Session中,并打开查看购物信息如图5-5所示。

图5-5 查看商品信息页面2.查看购物列表(1)创建名为infolist.aspx的文件,并打开该文件。

将info.aspx页面的内容复制到该页面中,并删除id为main的Div标签中的内容。

(2)在id为main的Div标签内添加id为buyinfo的Div标签,并在该标签内添加id为goodslist的表格控件。

然后,在该表格控件中添加标题行和4列标题列,代码如下所示。

(3)然后,在Style标签内,对id为buyinfo的Div以及其中的表格、表格标(4)打开infolist.aspx.cs代码页,将光标置于Page_Load()函数中。

基于ASP的网上购物车系统实现技术的研究

基于ASP的网上购物车系统实现技术的研究
Unv ri ,Qih a g a 6 0 4 。 iest y n un d o0 6 0 ) 周蕴博 ( h uY n o , 黑 龙 江 省 图 书 馆 , 哈 尔 滨 Z o ub ) l0 0 ( h irr f i n i n rvn e 5 0 0 T eLbayo Hel gi gPo ic,Habn 5 0 0 。 o a ri 10 0 )
该 产 品 , 是一 台购物 车 只 能装 一 项 产 品而 无 法 实 或 现 多 项产 品 同时购 入 等 。 因此 , 对 类 似 的缺 点 在对 网上 购物 车 系 统 的 针
分 析基 础 上 ,介绍 了利 用 目前 流 行 的 AS 技 术来 P
A bs r t Th ysem t ac es t ofne w o k — r e C a ti m p t nt t r ed O d r r sai ora c om po ntofElctoni Com m e ce. Thi pe ai y i— ne e r c r spa rm nl d s
Th u y f e St d orReal n h s em i g t e Sy t zi of
Ne w or ed. r t k . der ar O c tBas ed on ASP
黄 国言 周蕴博 冯 军 智


网 的 一 个 重 要
1 技 术 分析
11 购 物 车 的定 义 .
0 引 言
随 着 Itre 的逐渐 普 及和 信 息 技 术 的飞 跃 发 nen t
展, 电子 商 务 已在 世 纪 之 交掀 起 了一 场 流通 领 域 的
网上 购 物 车 是 顾 客 在 进 行 网上 虚 拟 商 场 中购 物 时所 必 须 携带 的购 物 工具 , 用 来 临 时存储 用 户 它 选择 的商 品而 不必 马 上 结帐 , 是 在选 中所 有 的商 而 品后 ,可 以再 次浏 览 自己 已经 选 好 的商 品 , 行 二 进 次选 择 ,最 后 一起 付 帐 ,这样 就 避 免 了用 户 每选 中
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
执行完了 sql 语句之后将跳转到购物车页面(mycar.asp),显示出用 户所购买的商品。并且有修改数量的按钮和删除的超链接
<!--#includefile="inc/conn.asp"-->
<% sql="selecta.*,b.pnamefrommrcara,productsbwhereorderid='"&sessio n("orderid")&"'anda.pid=b.pid" setrs=server.CreateObject("adodb.recordset") rs.opensql,conn,3,1 %> <formmethod="post"action="update.asp"name="form1"> <tableborder="1"> <tr><td>orderid</td> <td>商品名称</td>
<td>商品 id</td>
<td>单价</td>
<td>数量</td>
<td>删除</td>
<td>修改</td> </tr> <% sum=0 i=1‘这里的 i 值到后边有介绍
whilenotrs.eof‘将所购买的商品循环输出 %>
<tr><td><%=session("orderid")%></td> <td><%=rs("pname")%></td> <td><%=rs(1)%></td> <td><%=rs(2)%></td> <td><inputtype="text"size="10"value="<%=rs(3)%>"name="pcount"> </td>
下面用 css 样式表将表格里的字体统一设置为 14 号字
<styletype="text/css">‘ <!-table{ font-size:14px; } --> </style> </head> <body> <%
如果用户没登陆就直接打开购物首页,那么就跳转到登陆页面
ifsession("name")=""then response.Redirect("login.asp") endif
sql="select*fromproductswherepnamelike'%"&searchname&"%'"‘写 sql 语句,查找出结果
setrs=server.CreateObject("adodb.recordset")‘设置一个结果集对象 rs.opensql,conn,3,1 whilenotrs.eof‘循环输出商品的相关信息 %> 每个商品下面都有一个购买按钮,需要做一个表单 <formmethod="post"action="buy.asp"> <tablestyle="float:left"> <tr> <tdwidth="103"rowspan="3"><ahref="product.asp?id=<%=rs(0)%>"> <imgsrc="images/<%=rs(2)%>"width="100"height="100"border="0">
<tr><tdwidth="107">用户名:</td>
<tdwidth="77"><inputtype="text"name="username"id="username"/>< /td></tr>
<tr><td>密码:</td>
<td><inputtype="password"name="userpass"id="userpass"/></td></t r>
alert("用户名或密码不正确!");
history.back(); </script> <% endif
rs.close setrs=nothing conn.close setconn=nothing %>
那么,接下来就是购物的首页(index.asp)了
<!--#includefile="inc/conn.asp"--> <html> <head>
setrs=server.CreateObject("adodb.recordset") rs.opensql,conn,3,1
如果用户所要购买的商品已经买过,那么就直接在原来的基础上加 1, 否则的话,就插入记录
ifnotrs.eofthen sql="updatemrcarsetpcount=pcount+1wherepid='"&pid&"'andorderid= '"&session("orderid")&"'" conn.executesql response.Redirect("mycar.asp") else sql="insertintomrcar(orderid,pid,price,pcount)values('"&session("orde rid")&"',"&pid&","&price&",1)" conn.executesql response.Redirect("mycar.asp") endif rs.close setrs=nothing conn.close setconn=nothing %>
<% uname=request.Form("username") upass=request.Form("userpass") sql="select*fromuserswhereuname='"&uname&"'andupass='"&upass &"'" setrs=server.CreateObject("adodb.recordset") rs.opensql,conn,3,1 ifnotrs.eofthen
<!--#includefile="inc/conn.asp"-->‘将连接数据库的字符串包含进来 <% pid=request("id")‘得到商品的 id
price=request("price")‘得到商品的价格
sql="select*frommrcarwherepid="&pid&"andorderid='"&session("orde rid")&"'"‘写 sql 语句来查询
总金额为:<%=sum%>
点击修改数量的按钮之后,就跳到 update.asp:
<!--#includefile="inc/conn.asp"--> <%
这里需要注意在上个页面,有个 i 值,在这里就用到了,你要指明修改 的是哪一行记录
<td><ahref="delete.asp?id=<%=rs(1)%>">删除</a></td>
<td><inputtype="button"onclick="javascript:document.form1.action='u pdate.asp?rowcount=<%=i%>&pid=<%=rs(1)%>';document.form1.su bmit();"value="确认修改"></td>
%> 做一个搜索的文本框,方便用户搜索商品。其原理是这样的:用户填入 要搜索的商品后,通过表单提交到本页面,从数据库中查找像用户填写 的字符串的商品,再显示出来 <formmethod="post"action="index.asp"> <inputtype="text"size="15"name="search"id="search"/><inputtype="s ubmit"value="搜索"/> </form> <% searchname=request.Form("search")‘得到用户填写的字符串
相关文档
最新文档