C#中Cookies的存取

<1>

C#中Cookies的存取


什么时候cookie:
<1>Cookie就是保存在浏览器上的内容,用户再次浏览页面的时候想Cookie
中保存文本内容,下次再次访问页面的时候可以取出来上次保存的内容。
总之Cookie就是存储在浏览器里的一些数据
<2>Cookie需要浏览器的支持,浏览器的Cookie是可以禁用的,如果禁用了Cookie
就不能使用了。不过一般不用考虑禁用Cookie的情况
<3>Cookie是与域名有关的,所以163.ccom不能读取baidu.com记录的Cookie

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication1
{
    public class FunCookie
    {
        /// <summary>
        /// 创建Cookie和赋值,及设计Cookie有效天数
        /// </summary>
        /// <param name="strCookieName">Cookie名字</param>
        /// <param name="strCookieValue">Cookie的值</param>
        /// <param name="intDay">Cookie有效天数</param>
        /// <returns>布尔值</returns>
        public static bool SetCookie(string strCookieName,string strCookieValue,int intDay )
        {
            try
            {
                HttpCookie cookie = new HttpCookie(strCookieName); //创建一个cookie对象
                cookie.Value = strCookieValue; //设置cookie的值
                cookie.Expires = DateTime.Now.AddDays(intDay); //或cookie.Expires.AddDays(intDay);设置cookie的有效期
                System.Web.HttpContext.Current.Response.Cookies.Add(cookie); //将cookie添加到cookies中
                return true;
            }
            catch
            {
                return false;
            }
        }

        /// <summary>
        /// 根据Cookie的名字获取Cookie的值
        /// </summary>
        /// <param name="strCookieName">要获取的Cookie的名字</param>
        /// <returns>Cookie的值(string类型)</returns>
        public static string GetCookie(string strCookieName)
        {
            HttpCookie cookie= HttpContext.Current.Request.Cookies[strCookieName];//获取cookie
            if (cookie != null)
            {
                return cookie.Value; //返回cookie的值
            }
            else
            {
                return null;
            }
        }

        /// <summary>
        /// 删除Cookie
        /// </summary>
        /// <param name="strCookieName"></param>
        /// <returns></returns>
        public static bool DeleteCookie(string strCookieName)
        {
            try
            {
                HttpCookie cookie = new HttpCookie(strCookieName);
                cookie.Expires = DateTime.Now.AddDays(-1); 
                HttpContext.Current.Response.Cookies.Add(cookie);
                return true;
            }
            catch
            {
                return false;
            }
        }

        
    }
}


<2>

在客户端对Cookie进行存取


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="jquery-1.11.2.js" type="text/javascript"></script>
    <script src="jquery.cookie-v1.4.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {

            if ($.cookie("uName") != null) {
                
                //读取key为uName的这个Cookie的值
                $("#UserName").val($.cookie("uName"));
            }

            $("#btnClick").click(function () {

                //创建一个key为uName的Cookie ,值为$("#UserName").val() ;有效期为7天
                $.cookie("uName", $("#UserName").val(), { expires: 7 });
            })
        })
    </script>
</head>
<body>
<form id="form1">
<input type="text"  name="UserName" id="UserName"/>
<input type="button" value="提交"  id="btnClick"/>
</form>
</body>
</html>

例2


<script type="text/javascript">
    $(function () {
        
        //在客户端写入一个Cookie,浏览器会自动将这Cookie发送到服务器
        SetCookie("Age", 25);

        //获取服务器响应的Cookie
        var a = GetCookie("Name");

    })

    function GetCookie(name) {//获取指定名称的cookie的值
        var arrstr = document.cookie.split("; ");
        for (var i = 0; i < arrstr.length; i++) {
            var temp = arrstr[i].split("=");
            if (temp[0] == name) return unescape(temp[1]);
        }
    }

    //写cookies
    function SetCookie(name,value)
    {
        var Days = 30;
        var exp = new Date();       
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }
</script>
服务端
namespace MvcApp.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            //向浏览器响应一个Cookie
            Response.SetCookie(new HttpCookie("Name", "lily"));

            //获取浏览器提交过来的Cookie值
            var age = Request.Cookies["Age"];
            return View();
        }
    }
}


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值