程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#基於cookie完成的購物車功效

C#基於cookie完成的購物車功效

編輯:C#入門知識

C#基於cookie完成的購物車功效。本站提示廣大學習愛好者:(C#基於cookie完成的購物車功效)文章只能為提供參考,不一定能成為您想要的結果。以下是C#基於cookie完成的購物車功效正文


本文實例講述了C#基於cookie完成的購物車。分享給年夜家供年夜家參考,詳細以下:

上面的代碼將商品添加到cookie中,這裡就不再編寫添加商品到購物車的頁面流程,而是直接應用代碼完成

HttpCookie cookie = new HttpCookie("shop");
//cookie.values聚集可以或許存儲多個鍵值對,個中add辦法的第一個參數是商品編號,第二個參數是商品稱號和價錢,中央用都好分隔。
cookie.Values.Add("1", "電腦,2000");
cookie.Values.Add("2", "電視,2200");
cookie.Values.Add("3", "冰箱,2300");
cookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(cookie);

好,下面曾經將購置的商品添加到購物車中。個中應用了cookie的values聚集,第一個參數是商品編號,第二個參數是商品稱號和價錢。

第二步是顯示購物車

/// <summary>
/// 顯示購物車
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button2_Click(object sender, EventArgs e)
{
  LoadShop();
}
//顯示購物車
private void LoadShop()
{
  //起首斷定稱號為"shop"的cookie能否存在
  if (Request.Cookies["shop"] != null)
  {
    HttpCookie cookie = Request.Cookies["shop"];
    StringBuilder sb = new StringBuilder();
    sb.Append("<table>");
    //方便此cookie的values聚集,掏出每個鍵值對
    for (int i = 0; i < cookie.Values.Count; i++)
    {
      sb.Append("<tr>");
      sb.Append("<td>");
      sb.Append("<a href=WebForm5.aspx?id=" + cookie.Values.AllKeys[i] + ">刪除<a/>");
      sb.Append("</td>");
      sb.Append("<td>");
      //獲得每一個鍵值對中的值
      string[] shops = cookie.Values[i].Split(',');
      //獲得商品稱號
      sb.Append("<td>" + shops[0] + "</td>");
      //獲得商品價錢
      sb.Append("<td>" + shops[1] + "</td>");
      sb.Append("</td>");
      sb.Append("</tr>");
    }
    sb.Append("</table>");
    mydiv.InnerHtml = sb.ToString();
  }
}

個中正文曾經寫的很清晰了。

第三步是刪除購物車中商品

protected void Page_Load(object sender, EventArgs e)
{
  if (!IsPostBack)
  {
    if (!string.IsNullOrEmpty(Request.QueryString["id"]))
    {
      string id = Request.QueryString["id"];
      DeleteShop(id);
    }
  }
}
private void DeleteShop(string id)
{
  if (Request.Cookies["shop"] != null)
  {
    HttpCookie cookie = Request.Cookies["shop"];
    cookie.Values.Remove(id);
    if (cookie.Values.Count == 0)
    {
      cookie.Expires = DateTime.Now.AddDays(-1);
    }
    Response.Cookies.Add(cookie);
    LoadShop();
  }
}

願望本文所述對年夜家C#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved