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>publicstaticvoidSetCookie(stringcookieName,stringkey,stringvalue,doubleduration =4.0) {if(HttpContext.Current ==null||string.IsNullOrEmpty(key) ||string.IsNullOrEmpty(value))return;varcookie =newHttpCookie(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>publicstaticvoidDelete(stringcookieName,stringkey) {
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>publicstaticstringGetValue(stringcookieName,stringkey) {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) {returnHttpContext.Current.Request.Cookies[cookieName].Values[key];
}else{returnHttpContext.Current.Request.Cookies[cookieName].Value;
}
}return"";
}#endregion