设为首页  加入桌面   在线投稿    手机版    安全退出 
星空写作网图标
文学爱好者写作分享平台
首页
生活随笔
情感世界
娱乐天地
学生时代
上班一族
打工生涯
散文诗歌
杂文论文
小说搞笑
英文文章
电器网络
各类范文
会员中心
更多>>
社会写真
近代作家
古代作家
世界名家
近代名作
古代名作
世界名作
著名书画
生活常识
国外风采
警钟长鸣
综合消息
观读随感
写作感悟
健康美食
旅游名胜
古典珍藏
工业农业
商业经贸
靓丽彩妆
首饰工艺
家居穿戴
环保生态
科学法律
军旅情节
写作技巧

在ASP中访问和更新Cookies集合

(文章来源: 【】    发布时间        浏览次数:  次   文评:优秀文章评定 )

  fgximg   fgximg   fgximg   fgximg  

Cookies的值比ASP其他集合(例如Form和ServerVariables)的值要复杂得多。Cookie是一小块由浏览器存贮在客户端系统上的文本,且随同每次请求发往它们应用于的域中的服务器。

ASP使得应用cookie较为容易,可以从Request对象的Cookies集合中获得所有随同请求发出的cookie值,并可创建或修改cookie,通过Response对象的Cookies集合发回给用户。

Cookie包含可用两种方式构造的信息,单值cookie提供其值给代码是通过一个一般的类ASP集合。然而,集合的每个成员可能本身也是一个集合,包含这种信息的cookie通过称为多值(multiple-Value)cookie。

创建一个单值的cookie较为简单,如下所示:

Response.Cookies(“item-name”) = “item-value”

创建一个多值的cookie,可以使用如下命令:

Response.Cookies(“item-name”)(“sub-item-name”) = “sub-item-value”

设置cookie应用的域及路径及其有效期,我们使用:

Response.Cookies(“item-name”).domain = “domain-url”

Response.Cookies(“item-name”).path = “virtual-path”

Response.Cookies(“item-name”).expires = #date#

通常,客户只在对创建cookie的目录中的页面提出请求时,才将cookie随请示发住服务器。通过指定path属性,可以指定站点中何处这个cookie是合法的,并且这个cookie将随请求发送。如果cookie随对整个站点的页面请求发送,设置path为“/”。

假如Expires属性没有设置,关闭当前的浏览器实例时,cookie将被自动消除。

注意,我们在向浏览器发送任何输出时,已经创建了cookie。因为,这些cookie是页面HTTP报头的一部分。

在ASP 3.0中,缓冲的缺省状态是打开的,且没有输出被发送,除非使用Response.Flush指定做这个工作或者页面已到末端。这意味着创建cookie的代码可以在页面上的任何位置,直到任何输出“刷新”(flush)到客户端前,它都可以被执行。

要读现有的cookie,使用Request.Cookies集合。可以单独访问其中的项目,方法类似于创建它们时使用的方法。

StrSingleValue = Request.Cookies(“item-name”)

StrSubItemValue = Request.Cookies(“item-name”)(“sub-item-name”)

注意Request.Cookies集合(和所有其他Request集合一样)是只读的。Response.Cookies集合是只写的,事实上可以访问这个集合中一系列cookie的名称,而不是它们的值。

遍历Cookies集合

为了使用Cookies集合更加方便,可使用名称为Haskeys的附加属性。假如访问的cookie本身也是个集合,即它是一个多值的cookie,这将返回True。使用Haskeys属性,可以遍历完整的Request.Cookies集合,从而获得所有cookie的列表及它们的值。

For Each objItem In Request.Cookies

If Request.Cookies(objItem).HasKey Then

‘Use another For Each to iterate all subkeys

For Each objItemKey in Request.Cookies(objItem)

Response.Write objItem & “(“ & objItemKey & “) = “_

& Request.Cookies(objItem)(objItemKey) & “

Next

Else

‘Print out the cookie string as normal

Response.Write objItem & “ = ”& Request.Cookies(objItem) & “

End If

Next

这非常类似于前面的从Request.Form集合中提取多个值的复杂代码。但是这里可以使用Haskeys属性来判别每个条目是否为一个集合。而在Form例子里,必须查询Request.F(接下页)[本文来源:由《星空写作网》整理首发 - http://www.xkxzw.com/webHtml/20130304029.html ]

首 页   【1】 【2】 【3】  尾 页
文章评价:
优秀
0
0
一般
0
0
喜欢
0
收藏
0
  fgximg   fgximg   fgximg   fgximg  

文章点评 文章点评:   (文章点评需经网站审核后才可以展现。)
当前还没有点评内容。

我来点评:            (文章点评需经网站审核后才可以展现。)
  提交点评            投诉非首发_重奖     我已阅读此文章     我要发布文章   

  文章分享到:
0

会员登录 注册成为会员
韩都衣舍旗舰店
首  页 | 会员登陆 | 关于本站 | 免责声明 | 联系我们 | 发布信息 | 我要投稿 | 友情链接 | 建议意见 | 网站地图
copyright @2013-2020  星空写作网(www.xkxzw.com) All Rights Reserved. 版权所有,未经授权禁止复制或建立镜像,并保留所有权利。
本网所载文章作品其旨意不代表本网,著作权归原作者,如有涉抄袭侵权的,请告知我们立作删除;要转载本网文章作品请在转载文章开头或结尾处加注本网文章链接。
欢迎文学爱好者来本站发表您的作品,分享您的心情,同时通过在本网写作与阅读可以获得一份额外的收入。
   中华人民共和国工信部网站备案ICP证号:湘ICP备15001934号-1