首页 > 学院 > 开发设计 > 正文

Cookie的简单用法

2019-11-14 15:49:39
字体:
来源:转载
供稿:网友

 Cookie大家肯定很熟悉了,平时用的地方很多,现在我简单的介绍其的增删改查的方法,当然核心还是添加现在先给一个简单的图来说明添加Cookie的两种方式

现在开始慢慢解释以上的图

第一步:添加Cookie

添加Cookie有两种方式一种带子键的另外一种没有。其实我们可以把Cookie当做一个对象

1:没有子键的添加

我们先给我们创建的Cookie取一个名字,然后在这个Cookie进行赋值,当然可以设置Cookie的其他属性比喻过期时间是咱们最常用的,最后添加response中,这样就添加一个Cookie了。

2:有子键的添加

同样需要给新建的Cookie取一个名字,然后给Cookie对象添加子键,并且赋值

#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同样考虑是否存在子键,如果有子键就删除这个子键,没有没有直接就移除这个Cookie

#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

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表