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#法式設計有所贊助。