asp.net cookies用法

asp.net cookies用法

 http://222.184.9.78:1280/jt/main/output.asp?haxz2=486 

比如建立一个名为aspcn,值为灌水小鱼的cookie  

 HttpCookie cookie = new HttpCookie["aspcn"];   

 cookie.Value = "灌水小鱼";   

Response.AppendCookie(cookie);   

 取出Cookie值也很简单   

 HttpCookie cookie = Request.Cookies["aspcn"];

cookieValue = cookie.Value;   

 在一个Cookie中储存多个信息,那也没有问题。

比如在名为aspcn的cookie下加多个信息   

 HttpCookie cookie = new HttpCookie("aspcn");  

  cookie.Values.Add("webmaster","灌水小鱼");  

  cookie.Values.Add("writer","beige");   

cookie.Values.Add("LinkColor","blue");   

 Response.AppendCookie(cookie);  

  取出信息也一样简单   

HttpCookie cookie = Request.Cookies["aspcn"];  

  value1 = cookies.Values["webmaster"];   

 value2 = cookies.Values["writer"];

Request.Cookies.Clear()这个方法并不是删除Cookie 

   删除 Cookie(即从用户的硬盘中物理移除 Cookie)是修改 Cookie 的一种形式。 由于 Cookie 在用户的计算机中,因此无法将其直接移除。     但是,可以让浏览器来为您删除 Cookie。     该技术是创建一个与要删除的 Cookie 同名的新 Cookie,     并将该 Cookie 的到期日期设置为早于当前日期的某个日期。     当浏览器检查 Cookie 的到期日期时,浏览器便会丢弃这个现已过期的 Cookie。   

  下面的代码示例演示删除应用程序中所有可用 Cookie 的一种方法:

CODE:

1. HttpCookie aCookie;   

 2. string cookieName;   

  3. int limit = Request.Cookies.Count;   

  4. for (int i = 0; i < limit; i++)    

 5. {    

 6. cookieName = Request.Cookies[i].Name;    

 7. aCookie = new HttpCookie(cookieName);   

  8. aCookie.Expires = DateTime.Now.AddDays(-1);   

  9. Response.Cookies.Add(aCookie);    

 10. }

cookies过期时间

Response.Cookies("user_name").Expires=Date+1 ’指定cookie保存时间   

 保留COOKIES一个小时    

Response.Cookies("MyCookie").Expires= (now()+1/24)    

 Response.Cookies("MyCookie").Expires = DateAdd("h", 1, Now())    

 Response.Cookies("CookieName").Expires=DateAdd("m",60,now())    

 设置60个月以后过期    

Response.Cookies("User").expires=second()+7    

 在expires后面定义的时间可以用时间函数代替    

例如:date()+7就表示在今天的时间上加上7天,

而second()+7则是7秒了。    

Response.Cookies("字段名").expires=时间函数+N,

例如:    

Response.Cookies("name2").expires=date+1,

表示Cookies保存1天,再比如:    

Response.Cookies("name2").expires=Hour+8,

表示Cookies保存8小时。    

这种方法我测试过不行(在2003server,iis6.0中),

不管second后面有无加(),访问时会出现500错误(还是无法显示网页?忘了)。    

 织梦尤文:这里的时间累加建议还是使用DateAdd函数,比如我们要累加一小时,则使用:    

 Response.Cookies("baidooglecom").expires = DateAdd("h", 1, Now())    

30分钟:    

Response.Cookies("CookieName").Expires=DateAdd("n",30,now())    

 dateadd("S",30,now()) 得到秒    

 Expires 指定 cookie 的过期日期。

为了在会话结束后将 cookie 存储在客户端磁盘上,

或在许多时候,我们希望能更长时间地在访问者的计算机上保存cookie。必须设置该日期。    

 若此项属性的设置未超过当前日期,则在任务结束后 cookie 将到期。   

  cookie的使用到期时间为“2010年1月1日”:

 Response.Cookies("CookieName").Expires=#January 01, 2010#    

 cookie的过期时间为“cookie的创建时间+365天”:

Response.Cookies("CookieName").Expires=Date+365 推荐的    

 但最好不要随便写 Response.Cookies("CookieName").Expires=Date,

这样页面之间的调用时值会为空。

C# :   

方法1:    

 Response.Cookies["username"].Value="gjy";    

 Response.Cookies["username"].Expires=DateTime.Now.AddDays(1);    

 方法2:    

 System.Web.HttpCookie newcookie=new HttpCookie("username");    

 newcookie.Value="gjy";    

 newcookie.Expires=DateTime.Now.AddDays(1);   

  Response.AppendCookie(newcookie);    

 创建带有子键的cookies:    

System.Web.HttpCookie newcookie=new HttpCookie("user");    

 newcookie.Values["username"]="gjy";    

 newcookie.Values["password"]="111";    

 newcookie.Expires=DateTime.Now.AddDays(1);   

  Response.AppendCookie(newcookie);    

cookies的读取:    

无子键读取:    

if(Request.Cookies["username"]!=null)    

 {     Response.Write(Server.HtmlEncode(Request.Cookies["username"].Value));     }    

有子键读取:     if(Request.Cookies["user"]!=null)    

 {     Response.Write(Server.HtmlEncode(Request.Cookies["user"]["username"].Value));

 

转自:http://hi.baidu.com/ayxulei/blog/item/a2e30ef4f9518be37709d72e.html

posted @ 2012-04-06 16:35  黎明&岁月  阅读(478)  评论(0编辑  收藏  举报