今晚使用javascript设置一个来路的cookie,之后使用ASP.NET获取这个cookie值,发现ASP.NET获取不到JS设置的cookie值,真郁闷中,以下是JS写Cookie的代码:
Code
//写cookies function setCookie(name,value) { document.cookie = name "=" escape (value) ";"; //设置的cookie关闭浏览即失效 } //JS设置来路写入到cookie setCookie("fromUrl",document.referrer);
以下是ASP.NET读取cookie代码:
Code
/// <summary> /// 读取Cookies /// </summary> /// <param name="str"></param> /// <returns></returns> public string GetCookies(string key) { if (System.Web.HttpContext.Current.Request.Cookies[key] != null) { string _cstr = System.Web.HttpContext.Current.Request.Cookies[key].Value.ToString(); Encoding stre = Encoding.GetEncoding("UTF-8"); return System.Web.HttpUtility.UrlDecode(_cstr, stre); } else { return string.Empty; } } //获取cookie string referer = GetCookies("fromUrl");
在这里ASP.NET使用UTF-8编码来解码JS写cookie的值,要不然取到的cookie会有些不同。
就是以下代码出现ASP.NET居然获取不到js写的cookie,那怎么办呢?别急,下面是解决方法:
重新改一下js代码,如下:
Code [
//写cookies function setCookie(name,value) { document.cookie = name "=" escape (value) ";path=/"; //设置的cookie关闭浏览即失效 }
加多了一个path=/,就行了。就这么简单。
这里设置了Cookie的Path属性,必须在客户端和服务器端同时设置 Path="/"属性,才能js和ASP.NET对Cookie的操作才能相互作用!另外一个是编码的问题,这里JS中的编码为encodeURI对应ASP.NET的Server.URLEncode。
作者:dodo
原文:http://www.xueit.com/html/2009-12-06/21-984180469828.html
本文版权归作者和学IT网共有,欢迎转载,但未经作者同意必须保留此段声明,并且保留原文链接。否则保留追究法律责任的权利。
发表评论
-
GridView 72般绝技
2011-11-19 10:05 808GridView无代码分页排 ... -
ASP.NET 替换字符 防SQL注入
2011-11-19 10:06 852/// <summary> /// 处理字符 ... -
Server.HTMLEncode用法
2011-11-19 10:06 1215Server.HTMLEncode HTML ... -
web.config数据库连接
2011-11-19 10:06 1618Web.Config 配置文件里连接SQL数据库,主要有 ... -
ASP.NET日期处理函数
2011-11-19 10:06 13031、DateTime 数字型 System.DateTi ... -
GridView删除时弹出确认对话框
2011-11-18 11:17 877html代码 <table align=&quo ... -
Net 4.0的UrlRouting实现友好的URL
2011-11-18 11:12 731在.Net 4.0之前我们为了做出搜索引擎友好的,对用户 ... -
ASP.NET中JSON的序列化和反序列化
2011-11-18 11:09 957导读:JSON是专门为浏览器中的网页上运行的JavaSc ... -
ASP.NET Session丢失原因和应对策略
2011-11-18 11:07 810正常操作情况下会有A ... -
TextBox控件
2010-12-20 19:15 749SingleLine—显示单行输入栏. MultiLi ... -
asp.net消息提示框代码
2010-12-20 18:07 1303/// <summary> /// ... -
ASP.NET Request.QueryString[""] 的用法
2010-12-20 01:05 1626Request.QueryString是用来获取参 ... -
检测远程URL是否存在的三种方法
2010-06-07 12:35 765private void Page_Load(object s ... -
ASP.NET4.0 新功能之 ViewStateMode 属性
2010-06-07 12:34 1459ASP.NET4.0 提供了一个叫做 ViewStateMod ... -
ASP.NET 中得到网站绝对路径的几种方法
2010-06-07 12:32 2274在编写 ASP.NET 应用程序的时候,有时为了更好地进行控制 ... -
.net生成静态页面
2010-05-28 14:45 1070模板页moban.htm <html> < ... -
在服务器端使用StringBuilder 对Web控件进行验证
2010-05-28 14:40 839导入命名空间using System.Text; pri ... -
日历控件的事件
2010-05-13 17:07 714 DayRender:当日期被显示时触发该事件。 Sele ... -
判断字符串是否为数字的方法
2010-05-01 12:42 10891﹑使用Try...Catch pri ... -
连接SQL数据库字符串
2010-04-30 22:59 568Data Source=(local);Initial Cat ...
相关推荐
在js方法中添加”path= 过期时间”就可以解决这个问题。 例如://写cookies 代码如下: function setCookie(name,value) { [removed] = name “=” escape (value) “;path=/”; //设置的cookie关闭浏览即失效 } 加多...
asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到基本存储过程生成 使用SQLDMO控制 SQL Server 使用SQL-DMO实现定制SQL Scripts Create Tables and Build inserts from Tables by using ...
虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是先看一下【十天学会ASP教程】,大家所需要了解的不是ASP的程序怎么写,而是怎么构建服务器,怎么使用HTML表单,同时对SQL语句有一个基础和理解...
ASP.NET常用代码 1. 打开新的窗口并传送参数: 传送参数: response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</script>") 接收参数: string a = Request....
ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的...
《ASP.NET 4高级程序设计(第4版)》是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。书中还深入讲述了其他ASP.NET图书...
ASP.Net MVC是微软推出的区别于ASP.Net WebForm的Web开发新技术,由于ASP.Net MVC解决了ASP.Net WebForm的很多缺点,非常适合大型、中型项目的开发,一经推出就受到了.Net开发社区的追捧,很多.Net开发人员的职位...
本书适合有一些基础的ASP.NET初级程序员以及准备迁移到ASP.NET 2.0的编程老手。该书与《ASP.NET 2.0入门经典(第4版)》及其早期版本,曾影响到无数中国Web程序员。. ASP.NET允许Web站点为每个访问者显示独一无二的...
本书适合有一些基础的ASP.NET初级程序员以及准备迁移到ASP.NET 2.0的编程老手。该书与《ASP.NET 2.0入门经典(第4版)》及其早期版本,曾影响到无数中国Web程序员。 目录 第1章 ASP.NET 2.0概述1 1.1 简史1 1.2 ...
5.5.3 ASP.NET连接Oracle失败的解决方法 245 本章常见技术面试题 246 常见面试技巧之经典问题巧回答 246 本章小结 247 第6章 关于XML 249 6.1 XML概述 250 6.1.1 XML和HTML有什么区别 250 6.1.2 XML的优势 250 6.2 ...
运营网站,我们经常需要分析用户的行为、用户的...首先,使用程序生成一段js代码,包括读写Cookie,及写入一个唯一值到Cookie中,用来判断独立访客者,再写入访问次数及上一个访问页面ID值;然后就是获取客户端时间,分
5.5.3 ASP.NET连接Oracle失败的解决方法 245 本章常见技术面试题 246 常见面试技巧之经典问题巧回答 246 本章小结 247 第6章 关于XML 249 6.1 XML概述 250 6.1.1 XML和HTML有什么区别 250 6.1.2 XML的优势 250 6.2 ...
ASP.NET程序中常用的三十三种代码 1. 打开新的窗口并传送参数: 传送参数: response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>") 接收参数: ...
第2章 ASP.NET运行模型 12.如何定义变量和判定变量类型 13.什么是变量的作用域 14.如何强制要求显式声明变量 15.如何保留或消除过程调用对变量的影响 16.如何创建和调整动态数组 18.如何计算中英文混合字符串的...
--我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。 +PageManager的实例方法AddAjaxUpdateControl改名为...
ExtAspNet - ExtJS based ASP.NET Controls with Full AJAX Support ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有ViewState,没有JavaScript,没有CSS,没有...
6)增加AjaxSupport目录,使用此目录的文件覆盖原版同名文件后重新编译即可解决在Asp.Net Ajax UpdatePanel下工作不正常的BUG!(不需要使用asp.net ajax的用户无需覆盖此目录的文件) 7)增加asp.net ajax的演示例子...