C#cookie操作类

来源:互联网 发布:淘宝温馨提示语大全 编辑:程序博客网 时间:2024/05/22 14:17

/*

原贴地址:http://www.cnblogs.com/prolifes/articles/1235546.html

*/

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

 
public class Cookie
{
    
/// <summary>
    
/// Cookies赋值
    
/// </summary>
    
/// <param name="strName">主键</param>
    
/// <param name="strValue">键值</param>
    
/// <param name="strDay">有效天数</param>
    
/// <returns></returns>
    public bool setCookie(string strName, string strValue, int strDay)
    {
        
try
        {
            HttpCookie Cookie 
= new HttpCookie(strName);
            //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
            Cookie.Expires 
= DateTime.Now.AddDays(strDay);
            Cookie.Value 
= strValue;
            System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
            
return true;
        }
        
catch
        {
            
return false;
        }
    }

    
/// <summary>
    
/// 读取Cookies
    
/// </summary>
    
/// <param name="strName">主键</param>
    
/// <returns></returns>
 
    
public string getCookie(string strName)
    {
        HttpCookie Cookie 
= System.Web.HttpContext.Current.Request.Cookies[strName];
        
if (Cookie != null)
        {
            
return Cookie.Value.ToString();
        }
        
else
        {
            
return null;
        }
    }

    
/// <summary>
    
/// 删除Cookies
    
/// </summary>
    
/// <param name="strName">主键</param>
    
/// <returns></returns>
    public bool delCookie(string strName)
    {
        
try
        {
            HttpCookie Cookie 
= new HttpCookie(strName);
            //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
            Cookie.Expires 
= DateTime.Now.AddDays(-1);
            System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
            
return true;
        }
        
catch
        {
            
return false;
        }
    }



示例:

Cookie Cookie = new Cookie();
Cookie.setCookie(
"name""aaa",1);//赋值
Cookie.getCookie("name");//取值
Cookie.delCookie("name");//删除
注意:当Cookie存中文出现乱码,则在存放时给中文编码,如Cookie.setCookie("name", Server.UrlEncode("aaa"),1),读取时解码即可Server.UrlDecode("name").


另外:只要不给cookie设置过期时间,cookie在浏览器关闭的时候自动失效

原创粉丝点击