asp网上购物车实例代码(2)
发布时间:2007-10-03 13:43:00
标签:购物车
五、 AddtoCart.asp
本页提供用户所选商品的详细信息,用户在此页可以修改订购数量。
1、 添加一个记录集,命名为prodRec,设定记录源为SQL statement,输入:Select * FROM Products。在<Head>区中输入如下代码:
<Script Language=Javascript Runat=Server>
function prodRec_onbeforeopen(){
newSQL="Select * From Products Where ProductID="+Request("ProductID");
prodRec.setSQLText(newSQL);
}
</Script>
此段代码在记录集打开之前执行,根据Products.asp传递来的ProductID参数,过滤记录集,获得用户选择的商品。
2、 再添加一个记录集,命名为cartRec,该记录集的作用是根据用户的Session编号和选定的产品编号,确定所选商品是否已经在购物车中,如果已经在购物车中,则提取Cart表中的记录,提示用户该商品已选购,并让用户更改选购数量:
<Script Language=Javascript Runat=Server>
Var Incart; //是否在购物车中
Var QtyinCart; //用户已经选购的数量
function cartRec_onbeforeopen(){
newSQL="Select * From Cart Where (SessionID="+’Session.SessionID’+")
and (ProductID="+Request("ProductID")+")";
cartRec.setSQLText(newSQL);
}
function cartRec_ondatasetcomplete(){
if(cartRecrdset.getCount()==1)
//过滤后记录集不为空,用户已选购了该商品
{
Incart=true;
QtyinCart=cartRec.fields.getValue("Quantity");
//取出用户已经选购的数量
}
</Script>
3、 <Body>中的代码:
<Form Action="UpdateCart.asp" Method="Post">
您选定的商品为:
<%=prodRecorset.fields.getValue("ProductNAME")%>
<%If Incart=true Then%>
您的购物车中已有
<%=QtyinCart%>件此商品,请更新您选购的数量:
<Input Type="Text" Name="OrderQty" Value="<%=QtyinCart%>">
<%Else%>
请输入您的选购数量:
<Input Type="Text" Name="OrderQty" Value="1">
<%End If%>
<Input Name="prodID" Type="hidden" Value="<%=prodRec.fields.getValue("ProductID")%>">
//使用一个隐藏的编辑框,存放用户选定的产品编号,供UpdateCart.asp使用。
<Input Name="prodName" Type="hidden" Value="<%=prodRec.fields.getValue("ProductName")%>">
<Input Name="prodPrice" Type="hidden" Value="<%=prodRec.fields.getValue("Price")%>">
//使用三个隐含编辑框,向UpdataCart.asp传递产品编号、名称和价格。
<Input Type="Submit" Value="添加至购物车">
</Form>


猜你喜欢
- 这篇文章主要介绍了Python hashlib加密模块常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- element换肤所有主题色和基础色均可自主配置1.element-ui官方提供的动态切换主题方法换肤 但此方法只可修改$&ndas
- 集合内建函数和内建方法(1)标准类型函数 len():把集合作为参数
- <html> <head> <title>JavaScript Data Access Test<
- 查询重写插件从MySQL 5.7.6开始,MySQL Server支持查询重写插件,可以在服务器执行之前检查并可能修改服务器接收的语句。以下
- SQL Server 2005相对于SQL Server 2000做了很大的改进,许些新特性是非常实用的。本文中将通过几个具体示例进行详细的
- 前言最近学习了python,感觉挺多地方能用到它的。打包 测试 上传 爬电影....而且代码量是真少。人生苦短,我用python。而今天写的
- 前言在接口测试的过程中,经常会遇到有些接口需要在登录的状态下才能请求,否则会提示请登录,那么怎样解决呢?我们可以通过Cookie绕过登录,其
- python开发者向普通windows用户分享程序,要给程序加图形化的界面(传送门:这可能是最好玩的python GUI入门实例! http
- 两个进程发生死锁的典型例子是:进程T1中获取锁A,申请锁B;进程T2中获取锁B,申请锁A,我们下面动手来演示一下这种情况:1. 创建一个Da
- 引言最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便。乘着余热未过,头脑清醒
- 在python3的sorted中去掉了cmp参数,转而推荐“key+lambda”的方式来排序。如果需要对python的list进行多级排序
- 本文实例讲述了Python中文分词实现方法。分享给大家供大家参考,具体如下:在Python这pymmseg-cpp 还是十分方便的!环境 u
- 一、Pandas如何对Categorical类型字段数据统计实战场景:对Categorical类型字段数据统计,Categorical类型是
- 验证关键词是否为sql保留字的在线工具:<html> <head><t
- 本文实例讲述了python操作redis的方法。分享给大家供大家参考。具体如下:#!/usr/bin/python#coding=utf-8
- 本文实例讲述了Python实现求两个数组交集的方法。分享给大家供大家参考,具体如下:一、题目给定两个数组,编写一个函数来计算它们的交集。例1
- 问题有二进制文件中保存了 20 亿个 2 Bytes 的数,需将其读出,每 20000 个数作图,拟合后输出结果。解决# -*- codin
- 今天我去隽辰的博客去看他的文章,在读完他的文章之后,我很自然的就去读网友们给他留的评论,在读的时候我发现他的评论是顺序的,也就是最早的评论在
- 在昨天关于substring的blog中有如下一段代码:也许你已经发现,在Python 3中其实有办法只用一行完成函数:>>&g