using System; using System.Web; namespace Quiz.SiteBase { public class SiteCookie { /// <summary> /// 保存一个Cookie /// </summary> /// <param name="CookieName">Cookie名称</param> /// <param name="CookieValue">Cookie值</param> /// <param name="CookieTime">Cookie过期时间(小时),0为关闭页面失效</param> public static void SaveCookie(string CookieName, string CookieValue, double CookieTime) { SaveCookie(CookieName, CookieValue, CookieTime, null); } /// <summary> /// 保存一个Cookie /// </summary> /// <param name="CookieName">Cookie名称</param> /// <param name="CookieValue">Cookie值</param> /// <param name="CookieTime">Cookie过期时间(小时),0为关闭页面失效</param> /// <param name="CookieDomain">Cookie域</param> 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); } } /// <summary> /// 保存传来的制定Cookie值 /// </summary> /// <param name="cookie"></param> public static void SaveCookie(HttpCookie cookie) { HttpContext.Current.Response.Cookies.Add(cookie); } /// <summary> /// 保存一个Cookie /// </summary> /// <param name="CookieName">Cookie名称</param> /// <param name="CookieValue">Cookie值</param> /// <param name="CookieTime">Cookie过期时间(小时),0为关闭页面失效</param> 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); } } /// <summary> /// 取得CookieValue /// </summary> /// <param name="CookieName">Cookie名称</param> /// <returns>Cookie的值</returns> 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; } /// <summary> /// 取得CookieValue /// </summary> /// <param name="CookieName">Cookie名称</param> /// <param name="CookieValueName">Cookie内某一键所对应的值</param> /// <returns>Cookie的值</returns> 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 ""; } } /// <summary> /// 根据Cookie名称获得指定的Cookie /// </summary> /// <param name="cookiename">Cookie名称</param> /// <returns></returns> public static HttpCookie GetCookies(string cookiename) { HttpCookie cookie = HttpContext.Current.Request.Cookies[cookiename]; return cookie; } /// <summary> /// 清除CookieValue /// </summary> /// <param name="CookieName">Cookie名称</param> 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); } } }