打印本文 打印本文 关闭窗口 关闭窗口
asp.net 实现购物车
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2693  更新时间:2009/4/23 10:43:44  文章录入:mintao  责任编辑:mintao

<%@ Page language="c#" Codebehind="shoppingcart.aspx.cs" AutoEventWireup="false" Inherits="myshop.shoppingcart" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
  <HEAD>
  <title>shoppingcart</title>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <LINK href="mycss.css" type="text/css" rel="stylesheet">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
  </HEAD>
 <body>
  <center>
   <form id="Form1" runat="server">
    <table width="500" border="0" cellspacing="0" cellpadding="0">
     <tr>
      <td>
       <ASP:DataGrid id="ShoppingCartDlt" runat="server" Width="500" BackColor="white" BorderColor="black"
        ShowFooter="false" CellPadding="3" CellSpacing="0" Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#cecfd6"
        AutoGenerateColumns="false" MaintainState="true">
        <Columns>
         <asp:TemplateColumn HeaderText="删除">
          <ItemTemplate>
           <center>
            <asp:CheckBox id="chkProductID" runat="server" />
           </center>
          </ItemTemplate>
         </asp:TemplateColumn>
         <asp:BoundColumn DataField="ProdID" HeaderText="ID" />
         <asp:BoundColumn DataField="ProName" HeaderText="商品名称" />
         <asp:BoundColumn DataField="UnitPrice" HeaderText="单价" />
         <asp:TemplateColumn HeaderText="数量">
          <ItemTemplate>
           <asp:TextBox id="CountTb" runat="server" Text=''''<%#DataBinder.Eval(Container.DataItem,"ProdCount")%>''''>
           </asp:TextBox>
          </ItemTemplate>
         </asp:TemplateColumn>
         <asp:BoundColumn DataField="TotalPrice" HeaderText="小计(元)" />
        </Columns>
       </ASP:DataGrid></td>
     </tr>
    </table>
    <br>
    <table width="500" border="0" cellspacing="0" cellpadding="0">
     <tr>
      <td><asp:Button id="update" runat="server" Text="更新我的购物车"  CssClass="button2" /></td>
      <td><asp:Button id="CheckOut" runat="server" Text="结算"  CssClass="button5" />&nbsp;&nbsp;<input type="button" name="close2" value="继续购物" onClick="window.close();return false;"
        class="button2"></td>
      <td align="right"><br>
       <asp:Label id="label" runat="server" Width="100px" Visible="True" ForeColor="#FF8080" Height="18px"></asp:Label></td>
     </tr>
    </table>
   </form>
  </center>
 </body>
</HTML>
=======================================================================================
以上为HTML页面部分
==========================================================================================


using System;
using System.Collections;
using System.ComponentModel;
using System.Web.SessionState;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OleDb;
using System.Configuration;

namespace myshop
{
 /// <summary>
 /// shoppingcart 的摘要说明。
 /// </summary>
 public class shoppingcart : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.DataGrid ShoppingCartDlt;
  protected System.Web.UI.WebControls.Button update;
  protected System.Web.UI.WebControls.Button CheckOut;
  protected System.Web.UI.HtmlControls.HtmlForm Form1;
  protected System.Web.UI.WebControls.Label label;
  protected System.Web.UI.WebControls.CheckBox     chkProductID;
  protected System.Web.UI.WebControls.TextBox      txtCount;
  protected System.Web.UI.WebControls.TextBox      CountTb;
  string AddProID;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   try
   {
    if (Session["logon"]!="yes"||Session["username"]==null)
    {
     Response.Redirect("error.htm") ;
    }
   }
   catch
   {
    Response.Redirect("error.htm") ;
   }                                         /////////////查看用户是否已经登陆。

   if(!IsPostBack)
   {
    if(Request.Params["mode"]=="view")         //检测是否为直接查看购物车。
    {
     ViewShoppingCart();
     Caculator();
    }
    if(Request.Params["productID"]!=null||Request.Params["productID"]!="")
    {
     AddProID=Request["productID"];
     UpdateShoppingCart();
     Caculator();
    }
   }// 在此处放置用户代码以初始化页面
  }

  public void CreateCartTable()   //创建购物车
  { 
   DataSet ds = new DataSet();
   DataTable newDT=new DataTable("CartTable");
   ds.Tables.Add(newDT);
   DataColumn newDC;
   newDC=new DataColumn("ProdID",System.Type.GetType("System.Int32"));
   ds.Tables["CartTable"].Columns.Add(newDC);

   newDC=new DataColumn("ProdCount",System.Type.GetType("System.Int32"));
   newDC.DefaultValue=1;
   ds.Tables["CartTable"].Columns.Add(newDC);

   newDC=new DataColumn("ProName",System.Type.GetType("System.String"));
   ds.Tables["CartTable"].Columns.Add(newDC);

   newDC=new DataColumn("UnitPrice",System.Type.GetType("System.Double"));
   ds.Tables["CartTable"].Columns.Add(newDC);
             
   newDC=new DataColumn("TotalPrice",System.Type.GetType("System.Double"));
   ds.Tables["CartTable"].Columns.Add(newDC);

   newDC=new DataColumn("IsDeleted",System.Type.GetType("System.Int32"));
   newDC.DefaultValue=0;                                                    //  public void WriteShoppingCart() 中 newDR[5]="0"; 行,已被注销,
   ds.Tables["CartTable"].Columns.Add(newDC);

   Session["myCartTable"]=newDT;
   ShoppingCartDlt.DataSource=ds.Tables["CartTable"].DefaultView;
   ShoppingCartDlt.DataBind();
      
  }

  public void UpdateShoppingCart()
  {
   if(Session["myCartTable"]==null)//Session["myCartTable"]==null
   {
    CreateCartTable();                                    //调用函数CreateCartTable()新建一个DataTable
    WriteShoppingC

[1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口