using System;
using System.Web;
namespace Quiz.Utility
{
public class CookieHelper
{
///
/// 保存一个Cookie
///
/// Cookie名称
/// Cookie值
/// Cookie过期时间(小时),0为关闭页面失效
public static void SaveCookie(string CookieName, string CookieValue, double CookieTime)
{
SaveCookie(CookieName, CookieValue, CookieTime, null);
}
///
/// 保存一个Cookie
///
/// Cookie名称
/// Cookie值
/// Cookie过期时间(小时),0为关闭页面失效
/// Cookie域
public static void SaveCookie(string CookieName, string CookieValue, double CookieTime, string CookieDomain)
{
HttpCookie myCookie = new HttpCookie(CookieName);
DateTime now = DateTime.Now;
myCookie.Value = CookieValue;
if (!string.IsNullOrEmpty(CookieDomain)) myCookie.Domain = CookieDomain;
if (CookieTime != 0)
{
myCookie.Expires = now.AddDays(CookieTime);
if (HttpContext.Current.Response.Cookies[CookieName] != null)
HttpContext.Current.Response.Cookies.Remove(CookieName);
HttpContext.Current.Response.Cookies.Add(myCookie);
}
else
{
if (HttpContext.Current.Response.Cookies[CookieName] != null)
HttpContext.Current.Response.Cookies.Remove(CookieName);
HttpContext.Current.Response.Cookies.Add(myCookie);
}
}
///
/// 保存传来的制定Cookie值
///
///
public static void SaveCookie(HttpCookie cookie)
{
HttpContext.Current.Response.Cookies.Add(cookie);
}
///
/// 保存一个Cookie
///
/// Cookie名称
/// Cookie值
/// Cookie过期时间(小时),0为关闭页面失效
public static void SaveCookie(HttpCookie cookie, double CookieTime)
{
DateTime now = DateTime.Now;
if (CookieTime != 0)
{
cookie.Expires = now.AddDays(CookieTime);
if (HttpContext.Current.Response.Cookies[cookie.Name] != null)
HttpContext.Current.Response.Cookies.Remove(cookie.Name);
HttpContext.Current.Response.Cookies.Add(cookie);
}
else
{
if (HttpContext.Current.Response.Cookies[cookie.Name] != null)
HttpContext.Current.Response.Cookies.Remove(cookie.Name);
HttpContext.Current.Response.Cookies.Add(cookie);
}
}
///
/// 取得CookieValue
///
/// Cookie名称
/// Cookie的值
public static string GetCookie(string CookieName)
{
HttpCookie myCookie = new HttpCookie(CookieName);
myCookie = HttpContext.Current.Request.Cookies[CookieName];
if (myCookie != null)
return myCookie.Value;
else
return null;
}
///
/// 取得CookieValue
///
/// Cookie名称
/// Cookie内某一键所对应的值
/// Cookie的值
public static string GetCookie(string CookieName, string CookieValueName)
{
HttpCookie myCookie = new HttpCookie(CookieName);
myCookie = HttpContext.Current.Request.Cookies[CookieName];
if (myCookie != null)
{
if (myCookie[CookieValueName] != null)
{
return myCookie[CookieValueName];
}
else
{
return "";
}
}
else
{
return "";
}
}
///
/// 根据Cookie名称获得指定的Cookie
///
/// Cookie名称
///
public static HttpCookie GetCookies(string cookiename)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies[cookiename];
return cookie;
}
///
/// 清除CookieValue
///
/// Cookie名称
public static void ClearCookie(string CookieName)
{
HttpCookie myCookie = new HttpCookie(CookieName);
DateTime now = DateTime.Now;
myCookie.Expires = now.AddYears(-2);
HttpContext.Current.Response.Cookies.Add(myCookie);
}
}
}