您的位置: 大智教程网 > 网站开发教程 > ASP > 正文
ASP入门基础教程-保存会话信息
2009-09-13 15:08  来源: 大智教程网

返回"ASP入门基础教程"目录

一、使用 Contents 集合保存会话信息

1、Contents 集合是使用 Session 对象定义的在 ASP 应用程序中的一组变量。这些变量的作用域为用户层,并且在整个 ASP 应用程序中都是可用的。这是Session 对象默认的集合,因此下述两种格式是等价的:

 Session.Contents("变量名")
 Session("变量名")

其中,“变量名”是需要操作的 Session 变量名称。

2、实例代码(1.asp):使用 Session 对象编写一个简单的计数器程序。

 

<html>
<head><title>使用 Session 变量</title></head>
<body>
<center>
<p>使用 Session 变量<p>
</center>
<%
Session.Contents("counter")=Session.Contents("counter")+1
%>
<center>
<font size=6 face=方正舒体 color=blue>
您是第<%=Session.Contents("counter")%>次来访!
</font>
</center>
</body>
</html>

 

二、使用StaticObjects 集合保存会话信息

StaticObjects 集合包含 Session 对象中用 OBJECT 标记创建的所有对象。

1、StaticOBjects 集合的语法格式:
Session.StaticObjects(key)其中参数 Key 指定要检索的属性。

2、创建具有会话作用域的对象:

在 global.asa 文件中,使用 OBJECT 标记并将 SCOPE 属性设置为 “Session" 可以创建有会话作用域的对象。例如:
<OBJECT RUNAT=”Server" SCOPE="Session" ID=名称 PROGID=类名></OBJECT>

3、使用 For Each ...Next 语句遍历 StaticObjects 集合中的每一个对象
StaticObjects 集合可以用于确定对象特定属性的值,或者用于遍历集合并获取所有对象的全部属性。使用循环控制结构可以遍历 StaticObjects 集合中的关键字。脚本如下:

  <%
     For Each objprop in Session.StaticObjects
         Response.Write objprop & ":" & Session.StaticObjects(objprop) & "<br>"
     Next
  %>

4、不能在Session 对象中存储内建对象。例如,下面每一行脚本都将返回错误。

  <%
     set session("varl")=Session
     set session("var2")=Request
     set Session("var3")=Response
     set Session("var4")=Server
     set Session("var5")Application
  %>

三、使用 Session 对象存储数组

不仅可以将标量变量和对象存储在Session 对象中,也可以将数组变量存储在 Session 对象中。若要创建一个 Session 数组,应首先声明一个普通数组并对其元素赋值,然后将该数组一个存储在 Session 数组中,若要在检索或改变 Session 数组中的元素,应首先将该数组复制给一个本地数组,然后对本地数组中的元素进行操作,完成修改后将本地数组存储在 Session 对象中。

不要直接更改 Session 数组中的元素。例如,下在的脚本无法运行。

<% Session("StoredArray") (3)="new value" %>

实例代码(2.asp)

 

<% @ language="vbscript" %>
<html>
<head>
<title>Session 数组应用实例</title>
<head>
<body>
<%
dim myarray()                        '创建一个普通的数组并对其进行初始化
redim myArray(5)
MyArray(0)="Hello"
MyArray(1)="Some other string"
Session("StoredArray")=MyArray               '将数组存储到 Session 对象中
Server.Execute "3.asp"                    '调用另一个.asp文件
Response.Write "<br>执行完毕!"
%>
</body>
</html>

 

3.asp页码:

 

<%
LocalArray=Session("StoredArray")            '将Session 数组复制给一个本地数组
LocalArray(1)="World"                 '修改本地数组元素的值
Response.Write LocalArray(0) & "," & LocalArray(1)    '输出本地数组的值
Session("StoredArray")=LocalArry                                        '将本数组存储到 Session 对象中
%>

 

返回"ASP入门基础教程"目录

[注:]本站部分文章来源网络,如有侵害您的权利请及时通知本站, 本站会即刻删除。QQ:179916975