转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
asp.net 实现购物车         ★★★★

asp.net 实现购物车

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1980 更新时间:2009/4/23 10:43:44
art();


   }
   else
   {                                                         //如果购物蓝中已有商品,则需要对购物信息表DataTable进行更新,并将其棒定到ShoppingCartDlt
                 
    WriteShoppingCart();
   }
  }

  public void ViewShoppingCart()                               //查看购物车
  {
   if(Session["myCartTable"]!=null)
   {
    DataTable viewTable=new DataTable("nowCartTable");
    viewTable=(DataTable)Session["myCartTable"];
    ShoppingCartDlt.DataSource = viewTable.DefaultView;         //购物车棒定到ShoppingCartDlt
    ShoppingCartDlt.DataBind();
   }
             
  }

  public void WriteShoppingCart()
  {
   if(Request.Params["mode"]!="view")                             //检查是否是直接查看购物车,如果直接查看,就不再写MYCARTTABLE
   {
    DataTable nowTable=new DataTable("nowCartTable");
    nowTable=(DataTable)Session["myCartTable"];
    int pn=nowTable.Rows.Count;

    int i=0;
    bool hasone=false;
    int nowProdID;
                 
    while(i<pn && !hasone)
    {
     nowProdID=Int32.Parse(nowTable.Rows[i][0].ToString());
     if(nowProdID==Int32.Parse(AddProID))                                   //判断购物信息表中,是否存有当前放入商品。 if(nowProdID==Int32.Parse(AddProID))
     {
      hasone=true;
     }
     else
     {
      i++;
     }

    }
    if(hasone)                          
    {                                                      //如果已有该商品,则 hasone=true,更改该数据行
     DataRow oldDR;
     oldDR=nowTable.Rows[i];
     oldDR["ProdCount"]=Int32.Parse(oldDR["ProdCount"].ToString())+1;
     oldDR["TotalPrice"]=Int32.Parse(oldDR["ProdCount"].ToString())*Double.Parse(oldDR["UnitPrice"].ToString());
    }
    else
    {                                                      //如果没有该商品,在表中新加如一行。
     DataRow newDR;
     double unitp;
     String strcon="provider=Microsoft.jet.OLEDB.4.0;data Source="+Server.MapPath(ConfigurationSettings.AppSettings["MDBpath2"])+";";
     OleDbConnection myConnection = new OleDbConnection(strcon);
     string strSQL= "select *  from pro where product_id="+AddProID+"";
     OleDbDataAdapter myCommand = new  OleDbDataAdapter(strSQL, myConnection);
     DataSet ds = new DataSet();
     myCommand.Fill(ds, "AddP");

     newDR=nowTable.NewRow();
     newDR[0]=AddProID;
                       
     newDR[2]=ds.Tables["Addp"].Rows[0]["product_name"].ToString();
     unitp=Double.Parse(ds.Tables["AddP"].Rows[0]["product_memprice"].ToString());        //会员价
                      
     newDR[3]=unitp;
     newDR[4]=unitp;                                           //第一次读库,所以总价格和单价是一样的。
     //newDR[5]="0";
     nowTable.Rows.Add(newDR);
                
     myConnection.Close();
                    
    }
                 
    ShoppingCartDlt.DataSource = nowTable.DefaultView;         //将更新后的 DataTable棒定到ShoppingCartDlt
    ShoppingCartDlt.DataBind();

    Session["myCartTable"] = nowTable; 
    //重新保存更新过的DataTable
   }   
  }

  
  
  public void Caculator()
  {
   if(Session["myCartTable"]!=null)                         //购物车是否为空
   {
    int h;
    Double TotalPri;
    TotalPri=0;
    DataTable nowTable3=new DataTable("nowCartTable3");
    nowTable3=(DataTable)Session["myCartTable"];
    if(nowTable3.Rows.Count>0)                               //返回购物车中是否有货物
    {
     for(h=0;h<=nowTable3.Rows.Count-1;h++)
     {       
      TotalPri=TotalPri+Int32.Parse(nowTable3.Rows[h][4].ToString());//Double.Parse((string)TotalText.Text);
                                        
     }
     label.Text="总计: "+TotalPri.ToString()+" 元" ;
    }
   }
  
  }

  public void Update()
  {
   
   int i;
   int j;
   int k;
   ArrayList deleteItem = new ArrayList(10);
   DataGridItem _item ;
   j=0;
   int deleteid;
     
            
   k=0;
   DataTable nowTable2=new DataTable("nowCartTable2");
   nowTable2=(DataTable)Session["myCartTable"];
    
           
   
   
   
   for(i=0;i<=this.ShoppingCartDlt.Items.Count-1;i++)
   {
    _item = this.ShoppingCartDlt.Items[i];
    TextBox CountText=(TextBox)this.ShoppingCartDlt.Items[i].Cells[4].FindControl("CountTb");//Controls[1];//_item.FindControl("CountTb");
    CheckBox ProductIDCheck =(CheckBox) _item.FindControl("chkProductID");
    
    nowTable2.Rows[i][1] = Int32.Parse(CountText.Text.ToString());
&nb

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


[C语言系列]NET 中C#的switch语句的语法  [系统软件]托拽Explore中的文件到VB.net的窗口
[系统软件]Boost库在XP+Visual C++.net中的安装  [常用软件]新配色面板:Paint.Net3.0RC1官方下载
[常用软件]用内建的“Net Meeting”聊天  [VB.NET程序]Henry的VB.NET之旅(三)—共享成员
[VB.NET程序]Henry的VB.NET之旅(二)—构造与析构  [VB.NET程序]Henry的VB.NET之旅(一)—失踪的窗体
[VB.NET程序]在托盘上显示Balloon Tooltip(VB.NET)  [VB.NET程序]Henry手记-VB.NET中动态加载Treeview节点(二)
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台