using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; namespace HH.WMS.Utils { /// ///   ///  常用工具类——COOKIES操作类 ///  ------------------------------------------------------------------- ///  WriteCookie:创建COOKIE对象并赋Value值或值集合 [+4重载] ///  GetCookie:读取Cookie某个对象的Value值,返回Value值,如果对象本就不存在,则返回null ///  DelCookie:删除COOKIE对象 /// public class ZCookies { #region 创建COOKIE对象并赋Value值 /// /// 创建COOKIE对象并赋Value值 /// /// COOKIE对象名 /// COOKIE对象有效时间(秒数),1表示永久有效,0和负数都表示不设有效时间,大于等于2表示具体有效秒数,31536000秒=1年=(60*60*24*365), /// COOKIE对象Value值 public static void WriteCookies(string CookiesName, int IExpires, string CookiesValue) { HttpCookie objCookie = new HttpCookie(CookiesName.Trim()); objCookie.Value = ZEncypt.DESEncrypt(CookiesValue.Trim()); //加密存储 if (IExpires > 0) { if (IExpires == 1) { objCookie.Expires = DateTime.MaxValue; } else { objCookie.Expires = DateTime.Now.AddMinutes(IExpires); } } HttpContext.Current.Response.Cookies.Add(objCookie); } /// /// 创建COOKIE对象并赋Value值 /// /// COOKIE对象名 /// COOKIE对象有效时间(秒数),1表示永久有效,0和负数都表示不设有效时间,大于等于2表示具体有效秒数,31536000秒=1年=(60*60*24*365), /// COOKIE对象Value值 /// 作用域 public static void WriteCookies(string CookiesName, int IExpires, string CookiesValue, string CookiesDomain) { HttpCookie objCookie = new HttpCookie(CookiesName.Trim()); objCookie.Value = ZEncypt.DESEncrypt(CookiesValue.Trim()); //加密存储 objCookie.Domain = CookiesDomain.Trim(); if (IExpires > 0) { if (IExpires == 1) { objCookie.Expires = DateTime.MaxValue; } else { objCookie.Expires = DateTime.Now.AddMinutes(IExpires); } } HttpContext.Current.Response.Cookies.Add(objCookie); } /// /// 创建COOKIE对象并赋多个KEY键值 /// 设键/值如下: /// NameValueCollection myCol = new NameValueCollection(); /// myCol.Add("red", "rojo"); /// myCol.Add("green", "verde"); /// myCol.Add("blue", "azul"); /// myCol.Add("red", "rouge"); 结果“red:rojo,rouge;green:verde;blue:azul” /// /// COOKIE对象名 /// COOKIE对象有效时间(秒数),1表示永久有效,0和负数都表示不设有效时间,大于等于2表示具体有效秒数,31536000秒=1年=(60*60*24*365), /// 键/值对集合 public static void WriteCookies(string CookiesName, int IExpires, NameValueCollection CookiesKeyValueCollection) { HttpCookie objCookie = new HttpCookie(CookiesName.Trim()); foreach (String key in CookiesKeyValueCollection.AllKeys) { objCookie[key] = ZEncypt.DESEncrypt(CookiesKeyValueCollection[key].Trim()); } if (IExpires > 0) { if (IExpires == 1) { objCookie.Expires = DateTime.MaxValue; } else { objCookie.Expires = DateTime.Now.AddSeconds(IExpires); } } HttpContext.Current.Response.Cookies.Add(objCookie); } /// /// 创建COOKIE对象并赋多个KEY键值 /// 设键/值如下: /// NameValueCollection myCol = new NameValueCollection(); /// myCol.Add("red", "rojo"); /// myCol.Add("green", "verde"); /// myCol.Add("blue", "azul"); /// myCol.Add("red", "rouge"); 结果“red:rojo,rouge;green:verde;blue:azul” /// /// COOKIE对象名 /// COOKIE对象有效时间(秒数),1表示永久有效,0和负数都表示不设有效时间,大于等于2表示具体有效秒数,31536000秒=1年=(60*60*24*365), /// 键/值对集合 /// 作用域 public static void WriteCookies(string CookiesName, int IExpires, NameValueCollection CookiesKeyValueCollection, string CookiesDomain) { HttpCookie objCookie = new HttpCookie(CookiesName.Trim()); foreach (String key in CookiesKeyValueCollection.AllKeys) { objCookie[key] = ZEncypt.DESEncrypt(CookiesKeyValueCollection[key].Trim()); } objCookie.Domain = CookiesDomain.Trim(); if (IExpires > 0) { if (IExpires == 1) { objCookie.Expires = DateTime.MaxValue; } else { objCookie.Expires = DateTime.Now.AddSeconds(IExpires); } } HttpContext.Current.Response.Cookies.Add(objCookie); } #endregion #region 读取Cookie某个对象的Value值,返回Value值,如果对象本就不存在,则返回null /// /// 读取Cookie某个对象的Value值,返回Value值,如果对象本就不存在,则返回null /// /// Cookie对象名称 /// 返回对象的Value值,返回Value值,如果对象本就不存在,则返回null public static string GetCookies(string CookiesName) { if (HttpContext.Current.Request.Cookies[CookiesName] == null) { return null; } else { return ZEncypt.DESDecrypt(HttpContext.Current.Request.Cookies[CookiesName].Value); } } /// /// 读取Cookie某个对象的Value值,返回Value值,如果对象本就不存在,则返回null /// /// Cookie对象名称 /// 键值 /// 返回对象的Value值,返回Value值,如果对象本就不存在,则返回null public static string GetCookies(string CookiesName, string KeyName) { if (HttpContext.Current.Request.Cookies[CookiesName] == null) { return null; } else { string strObjValue = ZEncypt.DESDecrypt(HttpContext.Current.Request.Cookies[CookiesName].Value); string strKeyName2 = KeyName + "="; if (strObjValue.IndexOf(strKeyName2) == -1) { return null; } else { return ZEncypt.DESDecrypt(HttpContext.Current.Request.Cookies[CookiesName][KeyName]); } } } #endregion #region 删除COOKIE对象 /// /// 删除COOKIE对象 /// /// Cookie对象名称 public static void DelCookie(string CookiesName) { HttpCookie objCookie = new HttpCookie(CookiesName.Trim()); objCookie.Expires = DateTime.Now.AddYears(-5); HttpContext.Current.Response.Cookies.Add(objCookie); } #endregion } }