通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>NET专区>>正文 新版上线![旧版]
注:打开慢时请稍等

ASP.NET中Cookie编程的基础知识(4)

http://www.iyit.net  日期:2006-6-2 15:07:02  来源:  点击:
参加讨论】读取 Cookie

  当浏览器向服务器发送请求时,该服务器的 Cookie 会与请求一起发送。在 ASP.NET 应用程序中,您可以使用 Request 对象来读取 Cookie。Request 对象的结构与 Response 对象的结构基本相同,所以从 Request 对象中读取 Cookie 的方法与向 Response 对象中写入 Cookie 的方法非常类似。以下示例显示了两种方法,目的都是获取名为“username”的 Cookie 的值并将值显示在 Label 控件中:

If Not Request.Cookies("userName") Is Nothing Then
Label1.Text = Server.HtmlEncode(Request.Cookies("userName").Value)
End If

If Not Request.Cookies("userName") Is Nothing Then
Dim aCookie As HttpCookie = Request.Cookies("userName")
Label1.Text = Server.HtmlEncode(aCookie.Value)
End If

  在获取 Cookie 的值之前,应该确保该 Cookie 确实存在。否则,您将得到一个 System.NullReferenceException(英文)异常。还需要注意的是,在页面中显示 Cookie 的内容之前,我调用了 HttpServerUtility.HtmlEncode(英文)方法对 Cookie 的内容进行编码。之所以这样做,是因为我要显示 Cookie 的内容(一般您不会这样做)而且要确保没有任何恶意用户在 Cookie 中添加了可执行脚本。有关 Cookie 安全性的详细信息,请参阅 Cookie 和安全性。

  注意:由于不同的浏览器保存 Cookie 的方式也不同,所以同一台计算机上的不同浏览器不一定能够相互读取各自的 Cookie。例如,如果使用 Internet Explorer 测试一个页面,然后再使用其他浏览器进行测试,那么后者就不会找到 Internet Explorer 保存的 Cookie。当然,大多数人一般都是使用同一种浏览器进行 Web 交互的,因此在大多数情况下不会出现问题。但有时还是会遇到问题,比如您要测试应用程序对浏览器的兼容性。

  读取 Cookie 中子键值的方法与设置该值的方法类似。以下是获取子键值的一种方法:

If Not Request.Cookies("userInfo") Is Nothing Then
Label1.Text = _
Server.HtmlEncode(Request.Cookies("userInfo")("userName"))
Label2.text = _
Server.HtmlEncode(Request.Cookies("userInfo")("lastVisit"))
End If

  在上面的示例中,我获取的是子键“lastVist”的值,在此前的讨论中我把该值设置为 DateTime 值的字符串表示形式。请记住,Cookie 是用字符串的形式保存值的,所以要将 lastVisit 值用作日期,就必须对其进行转换:

Dim dt As DateTime
dt = CDate(Request.Cookies("userInfo")("lastVisit"))

  Cookie 中子键的类型是 NameValueCollection(英文)类型的集合。因此,另一种获取单个子键的方法是先获取子键集合,然后按名称提取子键的值,如下所示:

If Not Request.Cookies("userInfo") Is Nothing Then
Dim UserInfoCookieCollection As _
System.Collections.Specialized.NameValueCollection
UserInfoCookieCollection = Request.Cookies("userInfo").Values
Label1.Text = Server.HtmlEncode(UserInfoCookieCollection("userName"))
Label2.Text = Server.HtmlEncode(UserInfoCookieCollection("lastVisit"))
End If

  就像设置 Cookie 一样,使用哪种方法读取 Cookie 也由您自己决定。

  什么是有效期?

  您可以读取 Cookie 的名称和值,除此以外,需要了解的有关 Cookie 的信息并不是很多。虽然您可以获取 Domain 和 Path 属性,但是这些属性的用途很有限。例如,您可以读取 Domain 属性,但如果您的页面与 Cookie 不在相同的域,您根本就不会在页面的位置接收到该 Cookie。

  您无法读取的是 Cookie 的过期日期和时间。事实上,当浏览器向服务器发送 Cookie 信息时,浏览器并未将过期信息包括在内。您可以读取 Expires 属性,但总是返回为零的日期/时间值。

本新闻共2页,当前在第1页  1  2  


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:ASP.NET中Cookie编程的基础知识(5)
下一篇:ASP.NET中Cookie编程的基础知识(3)
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
在ASP.NET中自动给URL加上超链接 ASP.NET Atlas ListView显示列表数据 ASP.NET编程入门随想之信客
用VS2005实现ASP.NET2.0移动开发 在ASP.NET Atlas中创建自定义Behavior ASP.NET 2.0中轻松实现网站换肤
ASP.NET 2.0 中的代码隐藏和编译 ASP.NET入门随想之服务器控件模型 ASP.NET页面中标题单点解决方案
在ASP.NET中防止注入攻击 ASP.NET 2.0站点登录、导航与权限管理 asp.net面试试题收集
ASP.NET服务器控件编程之热身运动 ASP.NET 2.0 中的异步页功能应用 用ASP.NET开发Web服务的五则技巧
ASP.NET中Cookie编程的基础知识(1) ASP.NET中Cookie编程的基础知识(2) ASP.NET中Cookie编程的基础知识(3)
ASP.NET中Cookie编程的基础知识(5) ASP.NET中Cookie编程的基础知识(6) ASP.NET 2.0移动开发入门之基础
ASP.NET中文件上传下载方法集合 ASP.NET服务器控件之RenderContents ASP.NET2.0服务器控件之Render方法
最新更新 热点排行 推荐新闻
在ASP.NET中自动给URL加上超链接
ASP.NET Atlas ListView显示列表数据
ASP.NET编程入门随想之信客
用VS2005实现ASP.NET2.0移动开发
在ASP.NET Atlas中创建自定义Behavior
在ASP.NET中自动给URL加上超链接
ASP.NET Atlas ListView显示列表数据
ASP.NET编程入门随想之信客
用VS2005实现ASP.NET2.0移动开发
在ASP.NET Atlas中创建自定义Behavior
ASP.NET 2.0中轻松实现网站换肤
ASP.NET 2.0 中的代码隐藏和编译
ASP.NET入门随想之服务器控件模型
ASP.NET页面中标题单点解决方案
在ASP.NET中防止注入攻击
为ASP.NET 2.0菜单控件增加target属性
ASP.NET 2.0 中的异步页功能应用
将Asp.net页面输出为HTML
HTML简介
设定Cookie 变量的生命周期
优秀公益广告作品欣赏(8)
java数据类型转换
QQ最新版下载 2006 beta2 体验新感受 
Windows XP专业版IIS连接数的更改
优秀公益广告作品欣赏(7)
Office2007简体中文版浮出水面 美图抢
优秀公益广告作品欣赏(6)
WEB服务器配置全攻略(三)
优秀公益广告作品欣赏(4)
优秀公益广告作品欣赏(1)
ASP.NET 2.0 中的异步页功能应用
Linux操作系统12则经典应用技巧
浅谈Linux优化及安全配置的个人体会
解决局域网不能互相访问之全攻略
WIN 2000简单的入侵常识
用Win 2003架设邮件服务器
硬盘分区消失,解决方法!
传统计算机病毒传播能力破坏性在提高
内存为何有“两面性”
AMD水货盒装CPU识别方法
IP地址资源2012年枯竭 部署IPv6很紧迫
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息