Hopes

Start Here..

 

request.cookies

什么是Cookies?Cookies是数据包,可以让网页具有记忆功能,在某台电脑上记忆一定的信息。Cookies的工作原理是,第一次由服务器端写入到客户端的系统中。以后每次访问这个网页,都是先由客户端将Cookies发送到服务器端,再由服务器端进行判断,然后再产生HTML代码返回给客户端,这是一个很重要的原理。关于服务器端和客户端的概念,请点击我写的这篇:什么是服务器端和客户端,举了2个实例。

Cookies在ASP中的最常用的方法,

1.如何写入Cookies?
Response.Cookies("字段名")=变量或字符串,例如:
Response.Cookies("name2")="Dingdang"

2.如何设置Cookies时间?
Response.Cookies("字段名").expires=时间函数+N,例如:
Response.Cookies("name2").expires=date+1,表示Cookies保存1天,再比如:
Response.Cookies("name2").expires=Hour+8,表示Cookies保存8小时。

3.在以往的ASP教程中,很少有介绍Cookies退出的方法。在“退出”这个ASP页中可以这样写:
Response.Cookies("字段名")=""
之后,在客户端的浏览器就清除了Cookies,并且Cookies文件会消失。注意有多少个字段,就要写多少句来清除。

4.如何读取Cookies?
变量名=Request.Cookies("字段名"),例如:
name2=Request.Cookies("name2")
如果网页中写入这句,则会显示“Dingdang”。
也可以这样直接读取Cookies,

Cookies是属于Session对象的一种。但有不同,Cookies不会占服务器资源;而“Session”则会占用服务器资源。所以,尽量不要使用Session,而使用Cookies。




ASP.NET登录状态保持 并 设置IE cookie
写入Cookie
//第一次登录的时候,点击登录按钮事件下写
HttpCookie cookie = new HttpCookie("userName",user.UserName);
cookie.Expires = DateTime.Today.AddDays(300); //设置过期时间,
Response.AppendCookie(cookie);
Response.Redirect("index.aspx");
//在你的目标页的Load事件下写
if (!IsPostBack)//判断是否回传
{
if (Request.Browser.Cookies == true)
{
if (Request.Cookies["userName"] == null)
{
Response.Redirect("login.aspx");//跳转到登录页面
}

}
}

如果没有效果请设置IE
在IE里按菜单“工具->Internet选项”,弹出“Internet选项”设置窗体,选择“隐私”页,点“高级”按钮,弹出“高级隐私策略设置”窗体,把“覆盖自动Cookie处理”前的钩选上,第一方、第三方都选择“接受”,把“总是允许会话Cookie”钩上即可



根据SessionID设置cookie

public static String GetCookie(String cookeName){ 
try{

return System.Web.HttpContext.Current.Request.Cookies[cookeName].Value;

}catch{

String cookeValue = System.Web.HttpContext.Current.Session.SessionID.Trim();
System.Web.HttpContext.Current.Response.Cookies.Add(new System.Web.HttpCookie(cookeName,cookeValue));

}

return System.Web.HttpContext.Current.Request.Cookies[cookeName].Value;
}



posted on 2012-09-16 10:54 ** 阅读(569) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

公告

你好!

常用链接

留言簿(2)

随笔档案

文章分类

文章档案

新闻档案

相册

收藏夹

C#学习

友情链接

搜索

最新评论

阅读排行榜

评论排行榜