当前位置: 首页 > 编程笔记 >

asp.net基于HashTable实现购物车的方法

屠坚壁
2023-03-14
本文向大家介绍asp.net基于HashTable实现购物车的方法,包括了asp.net基于HashTable实现购物车的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了asp.net基于HashTable实现购物车的方法。分享给大家供大家参考,具体如下:

//用户购买商品时
if (e.CommandName.ToLower() == "buy") 
{
 //判断用户购物车是否为空 如果为空则分配一个
 Hashtable table;
 if (Session["car"] == null)
 {
  table = new Hashtable();
 }
 else
 {
  //用户购物车己存在 则取出数据
  table = Session["car"] as Hashtable;
 }
 //如果用户购物车中不包括该商品信息 则添加一个新商品
 if (!table.Contains(e.CommandArgument))
 {
  table.Add(e.CommandArgument, 1);//添加一个新商品 数量为1
 }
 else 
 {
  //如果购物车己存在该商品信息 则将该商品的数量加1 根据HashTable的键获取相对应的值
  int count = Convert.ToInt32(table[e.CommandArgument].ToString());
  //给该商品数量加上1
  table[e.CommandArgument] = (count + 1);
 }
 //保存商品信息
 Session["car"] = table;
 Response.Redirect("shoppingcar.aspx");
}
//商品信息列表
private void shoplist()
{
  Hashtable table;
  if (Session["car"] == null)
  {
   table = new Hashtable();
  }
  else
  {
   table = Session["car"] as Hashtable;
  }
  if (table.Count == 0)
  {
   Image13.Visible = true;
   Msg.Visible = true;
   Msg.Text = "<b style="color:red" mce_style="color:red">您还没有购物呢?赶快购物吧!</b>";
  }
  string[] Arrkey = new string[table.Count];
  int[] ArrVal = new int[table.Count];
  table.Keys.CopyTo(Arrkey, 0);
  table.Values.CopyTo(ArrVal, 0);
  //定义字符串 形成 ('1,2,3')
  string Products = "('";
  int k = 0;
  for (int j = 0; j < Arrkey.Length; j++)
  {
   if(k>0)Products += "','"; k++;
   Products += Arrkey.GetValue(j).ToString();
  }
  Products += "')";
  DataSet ds = productbll.GetInfoByWhere(" pid in " + Products);
  DataTable Table1 = new DataTable();
  Table1 = ds.Tables[0];
  Table1.Columns.Add(new DataColumn("shuliang", System.Type.GetType("System.Int32")));
  //得到pid的值 并将它设置为Table1的主键
  DataColumn[] keys = { Table1.Columns["pid"]};
  Table1.PrimaryKey = keys;
  foreach (string key in table.Keys)
  {
   Table1.Rows.Find(key)["shuliang"] = table[key];//根据键获取值 商品的数量
  }
  Table1.Columns.Add(new DataColumn("zongjia", System.Type.GetType("System.Double"), "hotprice*shuliang"));
  for (int n = 0; n < Table1.Rows.Count; n++) 
  {
   tPrice +=Convert.ToDouble(Table1.Rows[n]["zongjia"]);
  }
  Label1.Text = tPrice.ToString();
  Session["total"] = Label1.Text.ToString();
  MyGrid.DataSource = Table1.DefaultView;
  MyGrid.DataBind();
}
#region 从购物车中删除一条商品信息
protected void MyGrid_RowCommand(object sender, GridViewCommandEventArgs e)
{
  Hashtable table;
  if (Session["car"] == null)
  {
   table = new Hashtable();
  }
  else
  {
   table = Session["car"] as Hashtable;
  }
  //如果点击删除按钮 则从购物车中移除该商品信息
  if (e.CommandName.ToLower() == "delete")
  {
   if (table.ContainsKey(e.CommandArgument))
   {
    //从HashTable中移除该商品的信息(商品编号) 键:为商品编号 值为:商品数量
    table.Remove(e.CommandArgument);
   }
   Msg.Text = (string)e.CommandArgument;
  }
  Session["car"] = table;
  //调用方法
  shoplist();
}
#endregion

希望本文所述对大家asp.net程序设计有所帮助。

 类似资料:
  • 本文向大家介绍php购物车实现方法,包括了php购物车实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php购物车实现方法。分享给大家供大家参考。具体分析如下: 这里我们为你提供个简单的php购物车代码,从增加购物产品与发生购买了,在商城开发中,这个功能是少不了的,我们不需要数据库,用了txt文本文件来操作用户购物的内容. 增加商品到购物车,代码如下: 查看购物车的商品,代码如下:

  • 本文向大家介绍ASP.NET购物车实现过程详解,包括了ASP.NET购物车实现过程详解的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了ASP.NET实现购物车的具体代码,供大家参考,具体内容如下 1、 将test数据库附加到数据库管理系统中;数据库中的book_info包含下列数据: 2、 新建一个网站,将images文件夹复制到网站中; 3、 在Default.aspx中,通过Da

  • 本文向大家介绍Python实现购物车购物小程序,包括了Python实现购物车购物小程序的使用技巧和注意事项,需要的朋友参考一下 概要 按理说,我们入门的第一个小程序都应该是Hello World。因为比较简单,我这也就不做过多的演示 了。 下面是我写的一个小程序。主要用于练习Python的基本语法,以及入门。 主要实现功能 要求用户输入自己预期消费额度. 展示现有商品信息,要求用户选择 用户选择对

  • 本文向大家介绍php利用cookies实现购物车的方法,包括了php利用cookies实现购物车的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php利用cookies实现购物车的方法。分享给大家供大家参考。具体分析如下: php购物车是在电子商务网站会用到的,一种像超市购物车一样的,选好商品了,先放到自己的购物车里面等好了再到柜台结算,本款php购物车完全按照这个原理来实例的,感兴

  • 本文向大家介绍js+cookies实现悬浮购物车的方法,包括了js+cookies实现悬浮购物车的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js+cookies实现悬浮购物车的方法。分享给大家供大家参考。具体分析如下: 在 “商品列表展示页”做上 “悬浮的”与“DataList”结合的 “无刷新购物车”,只需计算出总价,不必去单独页面结算。找了些资料修改了一下,整理示例如下: g

  • 本文向大家介绍PHP实现的购物车类实例,包括了PHP实现的购物车类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现的购物车类。分享给大家供大家参考。具体分析如下: 该购物车类是基于CodeIgniter的购物车类仿写实现的。 购物车基本功能如下: 1) 将物品加入购物车 2) 从购物车中删除物品 3) 更新购物车物品信息 【+1/-1】 4) 对购物车物品进行统计    1.