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è)計有所幫助。
您可能感興趣的文章
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻 器左下角滾動新聞效果的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已安裝軟件變化的方法
- 01-10C#實現(xiàn)多線程下載文件的方法
- 01-10C#實現(xiàn)Winform中打開網(wǎng)頁頁面的方法
- 01-10C#實現(xiàn)遠(yuǎn)程關(guān)閉計算機(jī)或重啟計算機(jī)的方法
- 01-10C#自定義簽名章實現(xiàn)方法
- 01-10C#文件斷點續(xù)傳實現(xiàn)方法
- 01-10winform實現(xiàn)創(chuàng)建最前端窗體的方法


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻 器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-10C#中split用法實例總結(jié)
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05DEDE織夢data目錄下的sessions文件夾有什