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
}
}