ASP中Cookies集合使用方法详解(3)

作者:CODEOF 时间:2007-09-14 10:16:00 


  ASP中的cookie的使用
  在这一节我们将学习那些提供给ASP代码使用的集合、方法和属性的各种技术。
  1) cookie中存储用户的细节情况

  可以使用cookie来存储这两类值:当浏览器关闭时我们不想保存的值(例如用户的注册信息)以及在用户访问站点时要保留的值。在每种情况下cookie的值对于来自用户浏览器的每个页面请求的ASP都是可用的。
  然而,需要记住的是,cookie只有在对Cookie中的虚拟路径(path)内的页面发出请求时,才会发往服务器。缺省时,假如path的值在cookie中没有设置,则其值为创建cookie的页面的虚拟路径。为使一个cookie发往一个站点的所有页面,需要使用path=“/”。
这里是个实例,从自定义的Login页面中,将用户的注册信息存贮在一个cookie中,由于没有应用有效期,cookie值仅在关闭这个浏览器这前保留:

... 
Request.Cookies(“User”)(“UID”) = “<% = Request(“UserName”) %>” 
Request.Cookies(“User”)(“PWD”) = “<% = Request(“Password”) %>” 
Request.Cookies(“User”).Path = “/adminstuff” ‘Only applies to admin pages 
... 


  现在,在用户从adminstuff目录或其子目录请求的每个页面中,都可以找到这个cookie。假如它不存在,可以将用户重定向到注册页面:

If (Request.Cookies(“User”)(“UID”) <> “alexhomer”) _ 
Or (Request.Cookies(“User”)(“PWD”) <> “secret”) Then 
Response.Redirect “login.asp?UserName=” & Request.Cookies(“User”)(“UID”) 
End If 
... 


  由于把cookie中的用户名放在Response.Redirect的URL查询字符串中,假如在口令输入时出现错误且希望用户不必重新键入用户名,可以在login.asp页面中使用它:

<FORM ACTION=”check_user.asp” METHOD=”POST”> 
<INPUT TYPE=”TEXT” NAME=”UserName” 
VALUE=”<% = Request.QueryString(“UserName”) %>”><P> 
<INPUT TYPE=”SUBMIT” VALUE=”LOGIN”> 
</FORM> 


  2) 修改现有的cookie
  可以使用ASP修改现有的cookie,但不能只修改cookie中的一个值。当更新一个在Response.Cookies集合中的Cookie时,现有的值将丢失。我们可以用如下代码创建一个cookie,可以使用:

Response.Cookies(“VisitCount”)(“StartDate”) = dtmStart 
Response.Cookies(“VisitCount”)(“LastDate”) = Now 
Response.Cookies(“VisitCount”)(“Visits”) = CStr(intVisits) 
Response.Cookies(“VisitCount”).Path = “/” ‘Apply to entire site 
Response.Cookies(“VisitCount”).Expires = DateAdd(“m”,3,Now) 


  假如想要更新Visits和LastDate的值,必须先不需改变的所有值,然后重写整个的cookie:

datDtart = Response.Cookies(“VisitCount”)(“StartDate”) 
intVisits = Response.Cookies(“VisitCount”)(“Visits”) 
Response.Cookies(“VisitCount”)(“StartDate”) = dtmStart 
Response.Cookies(“VisitCount”)(“LastDate”) = Now 
Response.Cookies(“VisitCount”)(“Visits”) = Cstr(intVisits) 
Response.Cookies(“VisitCount”).Path = “/” 
Response.Cookies(“VisitCount”).Expires = DateADD(“m”,3,Now + 1)

且对于几乎所有的其他Response方法和属性,应该在写入任何内容(即打开<HTML>标记或任何文本或其他的HTML)到响应之前完成这个工作。

标签:cookies,asp
0
投稿

猜你喜欢

  • Python3实现将文件归档到zip文件及从zip文件中读取数据的方法

    2021-07-03 18:21:00
  • 详解Python执行py文件是否需要可执行权限

    2021-01-19 10:52:53
  • wxPython色环电阻计算器

    2023-12-21 20:08:54
  • pytest之assert断言的具体使用

    2021-11-21 18:04:26
  • Python进行文件处理的示例详解

    2021-12-08 10:51:04
  • Mysql按条件计数多种实现方法详解

    2024-01-18 09:43:35
  • Pyqt QImage 与 np array 转换方法

    2022-01-03 01:18:53
  • MySQL中一条update语句是如何执行的

    2024-01-16 23:57:43
  • spark: RDD与DataFrame之间的相互转换方法

    2023-06-09 23:24:04
  • C#中实现查找mysql的安装路径

    2024-01-24 05:48:15
  • 谈谈Python进行验证码识别的一些想法

    2022-09-19 12:50:53
  • 使用tensorflow进行音乐类型的分类

    2021-02-22 16:58:31
  • 对python中执行DOS命令的3种方法总结

    2021-10-11 12:22:53
  • Laravel操作session和cookie的教程详解

    2023-06-01 21:28:50
  • 浅谈PHP的数据库接口和技术

    2024-05-02 17:13:49
  • Python Web App开发Dockerfiles编写示例

    2023-02-01 12:47:19
  • js返回顶部代码

    2011-04-25 19:21:00
  • 深入理解Pytorch中的torch. matmul()

    2023-06-03 05:29:18
  • 将表数据生成SQL脚本的存储过程和工具

    2009-01-08 15:24:00
  • Python输出由1,2,3,4组成的互不相同且无重复的三位数

    2021-07-26 10:54:42
  • asp之家 网络编程 m.aspxhome.com