mvc cookies

客户端的很多信息保存在cookies中比保存在session中好,至少节约内存。

viewbag,viewdata的生命周期只对当前的view有效。用户登录信息等敏感数据已经交给identity 2 去处理。

asp.net 中可以借助httpcookie对象更加方便的操作cookie。

参考链接:http://ju.outofmemory.cn/entry/42908

。通过httpcookie可以设置cookie的名字,value,过期时间,另外还有一个values属性。可以添加键值对。

在mvc中,想要在view页访问 cookie,需要借助viewbag。代码如下:

  HttpCookie cookie = Request.Cookies.Get(cookieName);
            Viewbag.courseName=cookie.Values["courseName"];

如果需要在所有的页面都显示某些cookie信息。则可以在layout.cshtml中,添加一个部分页。然后这这个部分页中用jquery读客户端的cookie。

如果要根据cookie信息进行内容筛选。

以下从上面的链接复制,挺有用的。先保存着

一、HttpCookie使用示例:

1.写cookie

//定义cookie对象
HttpCookie cookie = new HttpCookie ( "person" ) ;
//属性为“会员”
cookie . Value = "会员" ;
//过期时间为1小时
cookie . Expires = DateTime . Now . Add ( new TimeSpan ( 0, 1, 0, 0 ) ) ;
//可以设置cookie的访问目录和域名
//cookie.Path = "";
//cookie.Domain = "";
//以下是定义的键值对。
cookie . Values . Add ( "name", "张三" ) ;
cookie . Values . Add ( "age", "20" ) ;
//添加到响应体中,不能缺少
Response . Cookies . Add (cookie ) ;  
//Response.AppendCookie(cookie);  //用于追加操作


2.读取cookie

//从请求体中过去cookie对象
HttpCookie cookie = Request . Cookies . Get ( "person" ) ;
if (cookie != null )
{
    //读取全部 会员&name=张三&age=20
    Response . Write (cookie . Value + "<br/>" ) ;  
    Response . Write (cookie . Values [ "name" ] + "<br/>" ) ;   //张三
    Response . Write (cookie [ "name" ] ) ;   //张三
} else
{
    Response . Write ( "不存在" ) ;
}

3.删除cookie,因为我们操作的是cookie对象,所以删除可以分为全部删除,即删除person。或只删除cookie对象中的键

a.删除cookie对象中的键

HttpCookie cookie = Request . Cookies . Get ( "person" ) ;
if (cookie != null )
{
    cookie . Values . Remove ( "name" ) ;
    //Response.AppendCookie(cookie);
    Response . Cookies . Add (cookie ) ;
}

b.删除整个cookie,设置cookie日期过期

HttpCookie cookie = Request . Cookies . Get ( "person" ) ;
if (cookie != null )
{
    cookie . Expires = DateTime . Now . Add ( new TimeSpan ( 0, - 3, 0, 0 ) ) ;
    Response . Cookies . Add (cookie ) ;
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值