首页 搜索 用户列表 FAQ 注册 登录  
视友(4U2V)视频教学、互动培训、图书出版、互助学习论坛 » 互助服务区 » 视频教程答疑 » 请教一个关于购物车的问题 谢谢了 非常急!!!!
  请教一个关于购物车的问题 谢谢了 非常急!!!!
帖子发起人: lwmzlgd   发起时间: 2008-06-10 02:31 下午   回复数: 0
« 上一主题 下一主题 »
楼主
  2008-06-10, 02:31 下午
lwmzlgd 离线,最后访问时间: 2008-6-24 16:25:53 lwmzlgd

发帖数前500位

新生入学
等级: 新生入学
注册: 2008年6月2日
积分: 10
精华: 0
发贴: 6
V 币: 0.0
请教一个关于购物车的问题 谢谢了 非常急!!!!
 
您好,我在做100例中的实现购物车时,在主页中添加了一个随时查看购物车的链接,代码如下:
<td width="153" background="image/navi2_right.gif"><img src="image/top_cart.gif" width="21" height="15" /><u class="STYLE1"><a href="CPBY.aspx">我的购物车</a></u></td>
由于没有向CPBY传递CPID,于是报错:
Source Error:

Line 27:     dt = Cpdat.Tables("DWCP")
Line 28:     Dim dr As DataRow = Cpbt.NewRow()
Line 29:     dr(0) = dt.Rows(0)("CPID")
Line 30:     dr(1) = dt.Rows(0)("CPNAME")
Line 31:     dr(2) = dt.Rows(0)("CPDJ")
 
Source File: D:\mysite\cpby.aspx    Line: 29
请问怎样修改啊
我在单击一个产品购买时,时正常的 ,订单也能提交,但是我想实现,即使不买产品,也应该显示空的购物车。
一下时购物车的代码:
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
     Dim Cpbt As DataTable
       Dim  Cpview as DataView
  Sub CrCpdatatable()
    Cpbt = New DataTable()
    Cpbt.Columns.Add(new DataColumn("CPID",GetType(String)))
    Cpbt.Columns.Add(new DataColumn("CPNAME",GetType(String)))
    Cpbt.Columns.Add(new DataColumn("CPDJ",GetType(single)))
    Cpbt.Columns.Add(new DataColumn("SL",GetType(Int32)))
    Cpbt.Columns.Add(new DataColumn("CPSUM",GetType(double)))
  End Sub
  Sub AddCpbt()
    Dim cpConn,Cpstring AS String
    Dim conn AS OleDbConnection
    Dim Cpadapter AS OleDbDataAdapter
    Dim Cpdat AS DataSet
    Dim dt AS DataTable
    cpConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("dat/dwdat.mdb")
    conn = New OledbConnection(cpConn)
    Cpstring = "SELECT CPID,CPNAME,CPDJ from DWCP WHERE CPID='" &Trim(Request.QueryString("CPID")) & "'"
    Cpadapter = new OleDbDataAdapter(Cpstring,conn)
    Cpdat = New DataSet()
    Cpadapter.Fill(Cpdat,"DWCP")
    dt = Cpdat.Tables("DWCP")
    Dim dr As DataRow = Cpbt.NewRow()
    dr(0) = dt.Rows(0)("CPID")
    dr(1) = dt.Rows(0)("CPNAME")
    dr(2) = dt.Rows(0)("CPDJ")
    dr(3) = 1
    dr(4) = dr(2) * dr(3)
    Cpbt.Rows.Add(dr)
     
  End Sub
  Sub CpTotal()
    Dim i As Integer
      Dim Cpto As single=0
      For i=0 to Cpbt.Rows.Count-1
         Cpto=Cpto+Cpbt.Rows(i)(4)
      Next
      CPCOUNT.text=Cpto
  End Sub
  Sub ByGrid_Delete(sender As Object, e As DataGridCommandEventArgs)
        Dim dr As DataRow = Cpbt.NewRow()
        Dim itemCell As TableCell = e.Item.Cells(0)
        Dim item As String = ItemCell.Text
         CpView.RowFilter = "CPID='" & item & "'"
            If  CpView.Count > 0 Then
                 CpView.Delete(0)
            End If
        CpView.RowFilter = ""
        CpTotal
          ByGrid.DataSource = CpView
        ByGrid.DataBind()
  End Sub
  Sub CpUpdate_Click(sender As object, e As EventArgs)
    Dim i,j As Integer
    Dim _item As DataGridItem
    j=0
    For i=0 To ByGrid.Items.Count-1
      _item = ByGrid.Items(i)
      Dim CountText As TextBox = _item.FindControl("Sltxt")
      Cpbt.Rows(i)(3) = CountText.Text
      Cpbt.Rows(i)(4) = Cpbt.Rows(i)(2) * Cpbt.Rows(i)(3)
    Next
          CpTotal
        ByGrid.DataSource = New DataView(Cpbt)
        ByGrid.DataBind()
  End Sub
  Sub ClearBy_Click(sender As object, e As EventArgs)
      Dim i As Integer
        For i=0 to CpView.Count-1
        CpView.Delete(0)
        Next
        CPCOUNT.text=0
        CpView.RowFilter = ""
      ByGrid.DataSource = CpView
      ByGrid.DataBind()
  End Sub
  Sub Page_Load(Sender As Object,e As EventArgs)
      If Session("Cpshop") Is Nothing Then
      CrCpdatatable
      Session("Cpshop") = Cpbt
    Else
      Cpbt = Session("Cpshop")
    End If
      Cpview = New DataView(Cpbt)
      If (Not IsPostBack) Then
        If Session("USENAME")="" or Session("USENAME")=nothing Then
         response.Redirect("nologin.htm")
        End If
        AddCpbt
            CpTotal
      ByGrid.DataSource = Cpview
      ByGrid.DataBind()
    End If
  End Sub
  Sub NewOrder_Click(sender As object, e As EventArgs)
    Dim cpConn,Cpstring AS String
    Dim conn AS OleDbConnection
    Dim Cpadapter AS new OleDbDataAdapter
    Dim Cpdat AS DataSet
    Dim dt AS DataTable
      Dim Newnow
      Dim Tystring as string
    cpConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("dat/dwdat.mdb")
    conn = New OledbConnection(cpConn)
    Cpstring = "SELECT * from  CPDD"
       Cpadapter = new OleDbDataAdapter(Cpstring,conn)
      Dim yy as OleDbCommandBuilder=new OleDbCommandBuilder (Cpadapter)
      Cpdat = New DataSet()
    Cpadapter.Fill(Cpdat,"CPDD")
         DIM i as integer
      Newnow=now
      Tystring=session("USENAME")+Cstr(year(Newnow))+iif(len(month(Newnow))=2,cstr(month(Newnow)),"0"+cstr(month(Newnow)))+iif(len(day(Newnow))=2,cstr(day(Newnow)),"0"+cstr(day(Newnow)))+cstr(hour(Newnow))+cstr(Minute(Newnow))+cstr(second(Newnow))
      For i=0 to Cpbt.Rows.Count-1
    Dim dr As DataRow =  Cpdat.Tables("CPDD").NewRow()
      dr(0) = Tystring
         dr(1) = Cpbt.Rows(i)("CPID")
      dr(2) = session("USENAME")
         dr(3) = Cpbt.Rows(i)("SL")
    dr(4) = Newnow
    Cpdat.Tables("CPDD").Rows.Add(dr)
      next
      Cpadapter.Update(Cpdat, "CPDD")
      session("Cpshop")=nothing
      conn.close
      response.Redirect("ReEmail.aspx?DDID="+Tystring)
  End Sub
 
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<style type="text/css">
<!--
.style1 {
      color: #FFFFFF;
      font-weight: bold;
      font-size: 12pt;
}
-->
</style></head>
<body >
  <div align="center">
    <form  runat="server">
  <table width="500"  border="0" cellpadding="2" cellspacing="0">
    <tr>
      <td height="30" bgcolor="#333333">
        <div align="left"><span class="style1">我的购物车</span></div></td>
    </tr>
    <tr>
      <td height="58" valign="top"> <ASP:DataGrid AllowPaging="false"
       AutoGenerateColumns="false"
       BackColor="white"
       BorderColor="black"
       CellPadding=3
       CellSpacing="0"
       Font-Name="Verdana"
       Font-Size="8pt"
       HeaderStyle-BackColor="#aaaadd" id="ByGrid" runat="server"
       ShowFooter="false"
       Width="90%" OnDeleteCommand="ByGrid_Delete"
       MaintainState="false">
     <Columns>
       <asp:BoundColumn DataField="CPID" HeaderText="产品品编号" />
       <asp:BoundColumn DataField="CPNAME" HeaderText="产品名" />
       <asp:BoundColumn DataField="CPDJ" HeaderText="单价" DataFormatString="{0:c}"/>
       <asp:TemplateColumn HeaderText="数量">
         <ItemTemplate>
             <asp:TextBox id="Sltxt" width="50" runat="server" Text='<%#Container.DataItem("SL")%>' />
           </ItemTemplate>
       </asp:TemplateColumn>
         <asp:BoundColumn DataField="CPSUM" HeaderText="小计(元)" DataFormatString="{0:c}"/>
         <asp:ButtonColumn
        ButtonType="LinkButton"
        CommandName="Delete"
        HeaderText="删除"
        Text="删除"
        Visible="True"/>    
     </Columns>
  </asp:DataGrid>
       </td>
    </tr>
    <tr>
      <td height="19" valign="top" align="left" style="font-size:9pt "><strong>合计:
          <asp:Label ID="CPCOUNT" runat="server" />                   
        </strong></td>
    </tr>
    <tr >
      <td height="23" bgcolor="#F7F7F7"><div align="center">
        <p>
          <asp:Button ID="SxBt" runat="server" Text="刷新购物车" OnClick="CpUpdate_Click" />         
&nbsp;
<asp:Button ID="ClBt" runat="server" Text="清空购物车" OnClick="ClearBy_Click" />
&nbsp;
<asp:Button ID="NewOrder" runat="server" Text="确定下订单" OnClick="NewOrder_Click" />
&nbsp;
<input name="ExBt" type="button" id="ExBt" value="退出购物车" OnClick=window.close()">
</p>
        </div></td>
    </tr>
  </table>
 
       
    </form></div>
</body>
</html>


IP 地址: 已登录   来自: 已登录    返回顶部
 第 1 页 总共 1 页 [共有 1 条记录]
视友(4U2V)视频教学、互动培训、图书出版、互助学习论坛 » 互助服务区 » 视频教程答疑 » 请教一个关于购物车的问题 谢谢了 非常急!!!!
123456



[联通如意博客] - [亿恋网] - [hiDotNet官方]

粤ICP备06031719号


(C)Copyright 2004-2005, 视友(4U2V)视频教学、互动培训、图书出版、互助学习论坛 All Rights Reserved.
ASP.Net Forums: 2.3.2716
意见反馈 | 关于我们

4u2v视频网 Powered by Community Server :: Forums 中文本地化: hiDotNet.com