今晚使用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 848GridView无代码分页排 ... -
ASP.NET 替换字符 防SQL注入
2011-11-19 10:06 901/// <summary> /// 处理字符 ... -
Server.HTMLEncode用法
2011-11-19 10:06 1280Server.HTMLEncode HTML ... -
web.config数据库连接
2011-11-19 10:06 1656Web.Config 配置文件里连接SQL数据库,主要有 ... -
ASP.NET日期处理函数
2011-11-19 10:06 13591、DateTime 数字型 System.DateTi ... -
GridView删除时弹出确认对话框
2011-11-18 11:17 924html代码 <table align=&quo ... -
Net 4.0的UrlRouting实现友好的URL
2011-11-18 11:12 767在.Net 4.0之前我们为了做出搜索引擎友好的,对用户 ... -
ASP.NET中JSON的序列化和反序列化
2011-11-18 11:09 987导读:JSON是专门为浏览器中的网页上运行的JavaSc ... -
ASP.NET Session丢失原因和应对策略
2011-11-18 11:07 851正常操作情况下会有A ... -
TextBox控件
2010-12-20 19:15 778SingleLine—显示单行输入栏. MultiLi ... -
asp.net消息提示框代码
2010-12-20 18:07 1332/// <summary> /// ... -
ASP.NET Request.QueryString[""] 的用法
2010-12-20 01:05 1667Request.QueryString是用来获取参 ... -
检测远程URL是否存在的三种方法
2010-06-07 12:35 794private void Page_Load(object s ... -
ASP.NET4.0 新功能之 ViewStateMode 属性
2010-06-07 12:34 1491ASP.NET4.0 提供了一个叫做 ViewStateMod ... -
ASP.NET 中得到网站绝对路径的几种方法
2010-06-07 12:32 2301在编写 ASP.NET 应用程序的时候,有时为了更好地进行控制 ... -
.net生成静态页面
2010-05-28 14:45 1101模板页moban.htm <html> < ... -
在服务器端使用StringBuilder 对Web控件进行验证
2010-05-28 14:40 880导入命名空间using System.Text; pri ... -
日历控件的事件
2010-05-13 17:07 744 DayRender:当日期被显示时触发该事件。 Sele ... -
判断字符串是否为数字的方法
2010-05-01 12:42 11781﹑使用Try...Catch pri ... -
连接SQL数据库字符串
2010-04-30 22:59 608Data Source=(local);Initial Cat ...
相关推荐
客户端接收到响应后,JavaScript解析Cookie并根据需要更新页面状态,如显示欢迎信息或改变导航菜单。 通过这个DemoLogin项目,开发者可以学习到如何结合HTML、Ajax、.NET Form验证和Cookie来实现一个完整的登录系统...
} }}在ASP.NET中获取客户端的MAC地址,通常是因为在某些场景下需要更精确地识别用户,例如防止重复投票或者限制特定设备的访问。然而,需要注意的是,由于浏览器的安全限制,直接通过HTTP协议是无法直接获取到...
根据提供的文件标题、描述、标签以及部分内容,我们可以深入探讨 ASP.NET 中如何与 Flash 进行交互,特别是关于 Cookie 的管理和使用。以下是对该主题的详细分析: ### ASP.NET 中 Cookie 的基本概念 #### 1. 创建...
在ASP.NET开发中,Cookie对象是一个非常重要的工具,它用于在客户端存储小量的数据,例如用户设置、会话标识等。本教程将深入探讨如何在ASP.NET中使用Cookie对象,并结合实际示例介绍如何利用Cookie来防止重复投票,...
在ASP.NET框架中,开发Web应用程序时,我们经常会遇到需要跟踪和管理用户下载状态的需求。标题"获取ASP.NET下载状态"直指一个挑战:在HTTP协议的无状态特性下,服务器端如何得知客户端的下载进度或者状态。由于HTTP...
对于初学者来说,掌握ASP.NET的学习方法和步骤至关重要,以下是一份详细的ASP.NET学习指南。 1. **基础知识准备**: 在开始ASP.NET的学习之前,你需要对以下基础知识有一定的了解: - **HTML/CSS/JavaScript**:...
ASP.NET提供了多种方式来处理客户端与服务器之间的交互,例如AJAX(异步JavaScript和XML)技术,使得游戏能够在不刷新整个页面的情况下进行实时更新。 此外,游戏的数据存储可能涉及ASP.NET的Session或Cookie管理,...
对于经验丰富的开发者,这些模板同样具有参考价值,可以从中学习到网页设计的流行趋势、用户体验的优化方法以及如何更好地集成ASP.NET技术。 ASP.NET框架提供了许多特性,例如: 1. **页面生命周期管理**:ASP.NET...
在js方法中添加”path= 过期时间”就可以解决这个问题。 例如://写cookies 代码如下: function setCookie(name,value) { [removed] = name “=” escape (value) “;path=/”; //设置的cookie关闭浏览即失效 } 加多...
### 解析6种ASP.NET跨页面传值的方法 在ASP.NET开发中,跨页面传值是经常遇到的一个问题。为了确保用户体验良好且程序逻辑清晰,开发者需要掌握多种跨页面传值的技术。本文将详细介绍六种常用的ASP.NET跨页面传值...
ASP.NET 的 Session 详解 Session 模型简介 Session 是什么呢?简单来说就是服务器给客户端的一个编号。当一台 WWW 服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。 当每个用户首次与这台 WWW ...
HttpOnly设置为true可以防止通过JavaScript访问Cookie,从而增加安全性。其次是处理Cookie的兼容性问题,例如*** FormsAuthentication Cookie的加密算法可能与*** Core不兼容,需要仔细处理和适配。最后,生成*** ...
ASP.NET 复习材料 一、类和结构 ASP.NET 中的类和结构是两个不同的概念。类是引用类型,结构是值类型。这意味着类是通过引用来访问的,而结构是通过值来访问的。在 C# 中,类是通过关键字 "class" 声明的,而结构...
本文将深入探讨如何在ASP.NET环境中解决这个问题。 首先,理解问题的本质:当用户点击提交按钮两次或者由于网络延迟,浏览器可能会发送两次请求到服务器,导致相同的数据被处理两次。这在诸如金融交易、用户注册等...
这个"asp.net完整论坛"项目是学习和实践ASP.NET技术的一个好实例,涵盖了从基础的页面生命周期到高级的分层架构、数据库操作和权限管理等多个方面。开发者可以通过研究源码,深入了解ASP.NET在实际项目中的应用。
ASP.NET提供了HttpPostedFileBase类来处理文件上传,通过这个类,我们可以获取到客户端上传的文件,并将其存储到服务器的指定位置。同时,还需要处理图片的显示,这通常涉及到对图片进行缩放、裁剪等操作,可以使用...
9. AJAX技术:为了提升用户体验,BBS论坛可能会用到部分异步更新技术,如ASP.NET AJAX,它可以在不刷新整个页面的情况下更新部分内容。 10. CSS和JavaScript:为了实现界面美化和交互效果,开发者需要掌握CSS(层叠...
本练习主要针对ASP.NET的基础知识,包括但不限于页面生命周期、控件事件处理、数据绑定、状态管理、以及MVC模式等核心概念。 1. **页面生命周期**: ASP.NET页面生命周期包括初始化、加载、验证、呈现和卸载等阶段...
7. **数据绑定**:ASP.NET提供了多种数据绑定技术,如控件数据绑定和模板数据绑定,用于将后台获取到的天气数据绑定到前台UI元素,动态显示天气信息。 8. **状态管理**:如果使用session或cookie来保存用户特定的...
9. **测试与调试**:开发过程中,单元测试、集成测试和性能测试都是必不可少的,ASP.NET支持MSTest、NUnit等测试框架,帮助开发者确保代码质量和系统稳定性。 综上所述,ASP.NET网上购物系统涵盖了Web开发的多个...