您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 服务器端脚本编程 > ASP专辑 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

在InterDev中实现网上购物推车
2001-11-23· ·陈孝强··yesky

上一页  1 2 3 4  下一页


  四、 Products.asp

  本页以表格显示客户所选的产品分类中的所有商品,每一个商品后都有一个"添加到购物车"按钮,指向AddtoCart.asp。

  1、 添加prodRec控件,设定记录源为Products表。

  2、 添加Grid控件,设定其数据源为prodRec

  3、 添加"选购此产品"链接

  在Grid的属性页中单击Add Unbound Column,在Header中输入:"选购此产品",在Field/expression中输入:="<A href=AddtoCart.asp?ProductID="+[ProductID]+">选购"+"</A>"。此语句的作用是,将当前选定的产品的产品编号存放在变量ProductID中传递给AddtoCart.asp,在AddtoCart.asp中将根据此产品编号为购物车添加记录。

  五、 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>

上一页  1 2 3 4  下一页

【责任编辑:方舟】
【发表评论】【关闭窗口】
■ 相关内容
 用ASP开发试题库与在线考试系统
 提高ASP页面的执行效率
 在客户端执行数据库记录的分页显示
 使用数据绑定控件显示数据
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!