Cookie你們確定很熟悉了,平時用的地方不少,如今我簡單的介紹其的增刪改查的方法,固然核心仍是添加如今先給一個簡單的圖來講明添加Cookie的兩種方式cookie
如今開始慢慢解釋以上的圖spa
第一步:添加Cookiecode
添加Cookie有兩種方式一種帶子鍵的另一種沒有。其實咱們能夠把Cookie當作一個對象對象
1:沒有子鍵的添加blog
咱們先給咱們建立的Cookie取一個名字,而後在這個Cookie進行賦值,固然能夠設置Cookie的其餘屬性比喻過時時間是我們最經常使用的,最後添加response中,這樣就添加一個Cookie了。string
2:有子鍵的添加io
一樣須要給新建的Cookie取一個名字,而後給Cookie對象添加子鍵,而且賦值class
#region 添加Cookie /// <summary> /// 設置一個cookie值 /// </summary> /// <param name="key">鍵</param> /// <param name="value">值</param> /// <param name="duration">持續時間,默認單位爲4小時</param> public static void SetCookie(string cookieName, string key, string value, double duration = 4.0) { if (HttpContext.Current == null || string.IsNullOrEmpty(key) || string.IsNullOrEmpty(value)) return; var cookie = new HttpCookie(cookieName);//建立並命名新的Cookie。 cookie.Expires = DateTime.Now.AddHours(4.0);//設置過時時間 if (!string.IsNullOrEmpty(key)) { cookie.Values.Add(key, value);//有子鍵 } else { cookie.Value = value;//沒有子鍵 } HttpContext.Current.Response.Cookies.Add(cookie); } #endregion
第二步:刪除Cookie方法
刪除Cookie一樣考慮是否存在子鍵,若是有子鍵就刪除這個子鍵,沒有沒有直接就移除這個Cookieim
#region 刪除Cookie /// <summary> /// 刪除Cookie /// </summary> /// <param name="cookieName">Cookie名稱</param> /// <param name="key">Cookie子鍵</param> public static void Delete(string cookieName, string key) { HttpResponse response = HttpContext.Current.Response; if (response != null) { HttpCookie cookie = response.Cookies[cookieName]; if (cookie != null) { if (!string.IsNullOrEmpty(key) && cookie.HasKeys) { cookie.Values.Remove(key); } else { response.Cookies.Remove(cookieName); } } } } #endregion
第三步:獲取Cookie
獲取Cookie也是經過Cookie名稱或者Cookie名稱和子鍵來獲取看如下代碼
#region 獲取Cookie /// <summary> /// 根據Cookie名稱和子鍵獲取Cookie值(子鍵可爲空) /// </summary> /// <param name="CookieName">Cookie名稱</param> /// <param name="Key">Cookie子鍵</param> /// <returns></returns> public static string GetValue(string cookieName, string key) { if (string.IsNullOrEmpty(cookieName) || HttpContext.Current.Request == null) { return ""; } if (HttpContext.Current.Request.Cookies[cookieName] != null) { if (!string.IsNullOrEmpty(key) && HttpContext.Current.Request.Cookies[cookieName].HasKeys) { return HttpContext.Current.Request.Cookies[cookieName].Values[key]; } else { return HttpContext.Current.Request.Cookies[cookieName].Value; } } return ""; } #endregion