首页  >  文章  >  web前端  >  cookie的三种操作方法

cookie的三种操作方法

黄舟
黄舟原创
2016-12-16 10:50:591091浏览

1,jquery.cookie.js

这一篇文章已经写的很详细了:

http://www.cnblogs.com/afuge/archive/2013/07/03/3169048.html

2,原生js操作cookie

jquery.cookie.js一般会出现cookie不兼容问题就要用原生的js了

3,服务器端处理

 /// 


    /// 将点击的值存放到Cookie中
    /// 

    PRivate void SetCookieValue(HttpContext context, string dic, string cookieName, string keyName)
    {
        HttpCookie cookie = new HttpCookie(cookieName);//初使化并设置Cookie的名称
        if (context.Request.Cookies[cookieName] != null)
        {
            cookie = context.Request.Cookies[cookieName];
            if (cookie.Values.Count > 0 && cookie.Values.GetValues(keyName) != null && cookie.Values.GetValues(keyName).Length > 0)
            {
                Remove(cookieName, keyName);
            }
        }
        TimeSpan ts = new TimeSpan(0, 3, 0, 0, 0);//过期时间为3小时
        cookie.Expires = DateTime.Now.Add(ts);//设置过期时间
        cookie.Values.Add(keyName, dic);
        context.Response.AppendCookie(cookie);
        //NCookieUtil.SetCookie(keyName, dic);
    }
    /// 
    /// 将点击的值从Cookie中取出
    /// 

    public string GetClickValue(HttpContext context, string cookieName, string keyName)
    {
        string userName = "";
        if (context.Request.Cookies[cookieName] != null)
        {
            if (context.Request.Cookies[cookieName][keyName] != null)
            {
                userName = context.Request.Cookies[cookieName][keyName].ToString();
            }
        }
        //userName = NCookieUtil.GetCookie(keyName);
        return userName;
    }
    ///   
    /// 移除cookie中指定的键,若是最后一个键则移除这个cookie  
    /// 
  
    public static void Remove(string cookieName, string keyName)
    {
        HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName];
        if (cookie != null)
        {
            if (cookie.Values.Count > 0)
            {
                if (cookie.Values.Count == 1)
                {
                    //若是最后一个键则移除这个cookie,否则会多出一个空值  
                    cookie.Values.Remove(HttpUtility.UrlEncode(keyName));
                    cookie.Expires = DateTime.Now.AddDays(-1);
                }
                else
                {
                    cookie.Values.Remove(HttpUtility.UrlEncode(keyName));
                }
                HttpContext.Current.Response.Cookies.Add(cookie);
            }
        }
    }

其实这三种方法还是建议用第二种方法!

 以上就是cookie的三种操作方法的内容,更多相关文章请关注PHP中文网(www.php.cn)! 


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn