CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

思归,孟子&其他高手,第一次取cookies值是乱码,第二次编译就对了。

楼主shenanigan(宝宝)2004-09-01 14:50:45 在 .NET技术 / ASP.NET 提问

读取是这样的:  
   
  Server.HtmlDecode(Request.Cookies[i].Value.ToString());  
   
  写入是在ASP.NET中,写入后立即读取cookies值显示为乱码,重新编译后就可以读取正确值。  
   
  同时还想问问,如何检测客户端cookies是否允许读写,最好能有实例代码。  
  cookies删除应该怎么写,用      
  Response.Cookies.Remove("234");  
  or  
  Response.Cookies.Clear;  
  都不行。  
  问题点数:50、回复次数:9Top

1 楼vzxq(灵感人)回复于 2004-09-01 14:55:59 得分 1

upTop

2 楼SpbDev(急先锋)回复于 2004-09-01 15:12:31 得分 0

删除cookie只要设置过期时间为现在时间之前的任意一个时间即可。  
  将cookie的内容设置为空字符串也是一个办法,不过不是真正的删除cookie。Top

3 楼chagel(Mike in Shanghai)回复于 2004-09-01 15:21:21 得分 5

2。  
  if   (Request.Browser.Cookies   ==   true)  
  {  
        //...  
  }  
   
  3。用Expires   属性:  
   
    DateTime   dt   =   DateTime.Now;  
    TimeSpan   ts   =   new   TimeSpan(0,0,10,0);  
     
    MyCookie.Expires   =   dt.Add(ts);  
  Top

4 楼goody9807(http://goody9807.cnblogs.com)回复于 2004-09-01 15:39:28 得分 5

HttpCookie   cookie   =   new   HttpCookie("MyCookie",str);  
  cookie.Expires   =   DateTime.Now.AddMinutes(20);   //   有效时间20分  
  Response.Cookies.Add(cookie);  
  Response.Redirect("...");   //   重定向  
   
   
  然后是删除  
  Response.Cookies.Remove("MyCookie");  
  Response.Redirect("....")   //   转向  
   
  无论是添加Cookie还是移除,都不执行。请问解决方案。  
   
   
   
  HttpCookie   cookie   =   Request.Cookies[strKey];  
  if(null   ==   cookie)  
  {  
  //cookie不存在  
  }  
  先看看有没有写入客户端  
   
   
   
  cookie=new   HttpCookie("www.xx.org");  
  cookie.Values.Add("UserType",   ddlLoginType.SelectedItem.Value);  
  cookie.Values.Add("UserName",   tbUserName.Text.Trim());  
  cookie.Values.Add("Password",   tbPassword.Text.Trim());  
  cookie.Values.Add("Access",i.ToString());  
  Response.AppendCookie(cookie);  
  //检查COOKIE是否已经写入浏览器  
  cookie   =   Request.Cookies["www.xx.org"];  
  if(cookie==null||cookie.ToString()=="")  
  {  
  //用session存储  
  LoginUser   loginUser   =   new   LoginUser();  
  loginUser.UserName   =   tbUserName.Text.Trim();  
  loginUser.Password   =   tbPassword.Text.Trim();  
  loginUser.UserType   =   ddlLoginType.SelectedItem.Value;  
  loginUser.Access   =   i;  
  Session["www.xx.org"]   =   loginUser;  
  }Top

5 楼SpbDev(急先锋)回复于 2004-09-01 15:51:57 得分 30

Request.Browser.Cookies仅仅是返回用户浏览器本身(从技术上)是否支持cookie,而不是浏览器当前设置是否支持cookie。  
   
  比如可以试试将IE禁用cookie,返回的仍然是true。  
   
  检测是否真正支持,办法是先写一个cookie,在下一个页面检测是否存在这个cookie,存在自然是支持的。Top

6 楼egxsun(egxsun)回复于 2004-09-01 16:00:16 得分 2

markTop

7 楼zuoky(zuoky)回复于 2004-09-01 17:04:18 得分 5

同意SpbDev(急先锋)的说法!但我想问如果cookies过期是不是系统直接删除,还是只是浏览器不读呢?  
  Top

8 楼shenanigan(宝宝)回复于 2004-09-01 17:15:23 得分 0

删除已经可以实现了,奇怪的是第一次读取是乱码,而且总是最后一个写入的cookies是乱码。Top

9 楼jamzh(Show me the money!!!)回复于 2004-09-01 17:16:46 得分 2

学习~!Top

相关问题

  • 乱码的问题,折腾两天了,还是解决不了,思归,孟子,秋枫等高人请进
  • 请教孟子E章,思归:
  • 孟子 思归等高手请进!!!!
  • ?????思归、孟子E章:请回答!!!!!
  • eclipse编译jsp中文乱码问题
  • 思归,孟子等高手请进:自定义控件问题
  • 有请思归、孟子E章出手解决此类问题!
  • 谁能?孟子、思归等大哥帮忙哟(winform方式)
  • 孟子E章,思归......各位大侠可以帮帮我吗
  • 思归,孟子...高手看过来!超级棘手问题!

关键词

  • cookies
  • 乱码
  • 浏览器
  • loginuser
  • 写入
  • 删除
  • 读取
  • httpcookie
  • mycookie
  • 是否

得分解答快速导航

  • 帖主:shenanigan
  • vzxq
  • chagel
  • goody9807
  • SpbDev
  • egxsun
  • zuoky
  • jamzh

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo