C#基于cookie實現(xiàn)的購物車功能
本文實例講述了C#基于cookie實現(xiàn)的購物車。分享給大家供大家參考,具體如下:
下面的代碼將商品添加到cookie中,這里就不再編寫添加商品到購物車的頁面流程,而是直接使用代碼實現(xiàn)
HttpCookie cookie = new HttpCookie("shop"); //cookie.values集合能夠存儲多個鍵值對,其中add方法的第一個參數(shù)是商品編號,第二個參數(shù)是商品名稱和價格,中間用都好分隔。 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);
好,上面已經(jīng)將購買的商品添加到購物車中。其中使用了cookie的values集合,第一個參數(shù)是商品編號,第二個參數(shù)是商品名稱和價格。
第二步是顯示購物車
/// <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(); } }
其中注釋已經(jīng)寫的很清楚了。
第三步是刪除購物車中商品
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#程序設(shè)計有所幫助。
相關(guān)文章
C#中獲取二維數(shù)組的行數(shù)和列數(shù)以及多維數(shù)組各個維度的長度
這篇文章介紹了C#中獲取二維數(shù)組的行數(shù)和列數(shù)以及多維數(shù)組各個維度的長度,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12C# 利用Aspose.Words.dll將 Word 轉(zhuǎn)成PDF
關(guān)于word轉(zhuǎn)成pdf的方法網(wǎng)上有很多。大部分需要借助office 2007及以上版本的組件。安裝配置起來比較麻煩。今天偶然得之“Aspose.Words.dll”可以實現(xiàn)2013-08-08C#將PDF轉(zhuǎn)為多種圖像文件格式的方法(Png/Bmp/Emf/Tiff)
這里介紹將PDF轉(zhuǎn)換多種不同格式的圖像文件格式,如PNG,BMP,EMF,TIFF等,同時,轉(zhuǎn)換文檔也分為轉(zhuǎn)換全部文檔和轉(zhuǎn)換部分文檔為圖片兩種情況,本文也將作進一步介紹2018-02-02