• 一个简单的购物车


    private void ShopCar(int id,string name,double price,int numble,int tag)   //tag等于1为增加商品,0为减
      {
        System.Data.DataTable dt;
       if(HttpContext.Current.Session["shop_car"]==null)
       {
        dt=new DataTable();
        dt.Columns.Add(new DataColumn("编号",typeof(int)));
        dt.Columns.Add(new DataColumn("商品名",typeof(string)));
        dt.Columns.Add(new DataColumn("价格",typeof(double)));
        dt.Columns.Add(new DataColumn("数量",typeof(int)));
        dt.Columns.Add(new DataColumn("总计",typeof(double)));
        Session["shop_car"]=dt;      //缓存数据表,不能缓存视图
       }
       else
       { 
        dt=(DataTable)Session["shop_car"];
       }
        DataView dv=dt.DefaultView;
        dv.Sort="编号";   //排序
        int i=dv.Find(id);    //在车中搜索商店id,如果不存在返回-1
        if(i==-1)    //无此商店
        {
         if(tag==1)  //添加
         {
          DataRow dr=dt.NewRow();
          dr["编号"]=id;
          dr["商品名"]=name;
          dr["价格"]=price;
          dr["数量"]=numble;
          dr["总计"]=numble * price;
          dt.Rows.Add(dr);
         }
         else   //移除
         {
          Response.Write("<script language='javascript'>alert('此商品已清空!');</script>");
         }
        }
        else  //有此商品
        {
         if(tag==1)  //添加
         {
          dv[i]["数量"]=(int)dv[i]["数量"]+numble;
          dv[i]["总计"]=(double)dv[i]["总计"]+(double)dv[i]["价格"]*numble;
          dv.Sort=null;
         }
         else   //移除
         {
          int j=(int)dv[i]["数量"]-numble;
          if(j<=0) dv.Delete(i);
          else
          {
           dv[i]["数量"]=j;
           dv[i]["总计"]=(double)dv[i]["总计"]-(double)dv[i]["价格"]*numble;
          }
          dv.Sort=null;
         }
        }
        }

    //然后在其它页面调用session与DataGrid绑定,可能得初始化DataTable
  • 相关阅读:
    性能测试基本功 手动配置nginx+phpcgi+zend+mysql
    MySQL的show full processlist命令
    LoadRunner测试Webservices的例子
    Firefox 5 公开测试下载
    Shunra 即将发布 PerformanceSuite 7.0 和NetworkCatcher 7.0
    LoadRunner常见问题
    动态生成的图片保存成png格式
    如何解决ASP.NET程序安装到繁体系统上的乱码问题
    在Ubuntu上下载、编译和安装Android最新源代码
    腾讯微博api的蛋疼问题
  • 原文地址:https://www.cnblogs.com/zjz/p/209325.html
Copyright © 2020-2023  润新知