激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - asp.net基于HashTable實現購物車的方法

asp.net基于HashTable實現購物車的方法

2019-12-29 13:27happy664618843 ASP.NET教程

這篇文章主要介紹了asp.net基于HashTable實現購物車的方法,涉及asp.net中HashTable結合session實現購物車功能的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了asp.net基于HashTable實現購物車的方法。分享給大家供大家參考,具體如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
//用戶購買商品時
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程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 三级国产三级在线 | 深夜毛片免费看 | av在线一区二区三区四区 | 久久精品国产一区二区 | 日韩 综合| 中文字幕天堂在线 | 亚洲性综合网 | 国产精品一区免费在线观看 | 中文字幕1区2区 | 91成人在线免费观看 | 一级大片在线观看 | lutube成人福利在线观看污 | 暖暖免费观看高清完整版电影 | 国产午夜免费福利 | 51国产偷自视频区视频小蝌蚪 | 奶子吧naiziba.cc免费午夜片在线观看 | 国产精品亚洲一区二区三区在线观看 | 欧美精品一区二区视频 | 国产精品免费一区二区三区四区 | 羞羞视频免费入口网站 | 九九热这里只有精品8 | 日日噜噜夜夜爽 | 羞羞视频2023 | 草久在线观看视频 | 黄色片免费看网站 | 香蕉秀 | 美国一级黄色毛片 | 99国产精品自拍 | 欧美亚洲国产一区二区三区 | 91色综合综合热五月激情 | 免费国产一级淫片 | 日韩视频精品一区 | 大胆在线日本aⅴ免费视频 美国黄色毛片女人性生活片 | 国产一区二区免费在线观看 | 国产99久久精品 | 国产精品一区二区三区99 | 国产精品成aⅴ人片在线观看 | 成人一级毛片 | 国产免费视频一区二区裸体 | 久久久青青草 | 看片一区二区三区 |