中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

asp.net中怎么利用HashTable實現一個購物車功能

發布時間:2021-07-15 16:18:33 來源:億速云 閱讀:235 作者:Leah 欄目:開發技術

這篇文章給大家介紹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  mce_>您還沒有購物呢?趕快購物吧!</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中怎么利用HashTable實現一個購物車功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永泰县| 蛟河市| 乾安县| 墨竹工卡县| 同仁县| 柯坪县| 晴隆县| 阿坝| 尼玛县| 江永县| 临漳县| 夏津县| 台东县| 德昌县| 岢岚县| 清远市| 宜宾县| 江口县| 盐山县| 天长市| 十堰市| 县级市| 昌图县| 商城县| 乡宁县| 金寨县| 屏南县| 五常市| 平凉市| 夹江县| 额尔古纳市| 镇沅| 西充县| 凉城县| 兴义市| 长丰县| 昭苏县| 江陵县| 若尔盖县| 阜城县| 休宁县|