6.3.3 Session对象
当从一张网页转跳到另一张网页时,前一张网页中以变量、常量等形式存放的数据会丢失。ASP中使用Session对象来记录特定客户的信息,这些信息在用户从一张网页跳转到另一张网页时不会丢失,Session对象所记录的信息被当前客户机的所有网页共享。
1. 利用Session存储信息
利用Session存储信息,与前面学习的利用变量存储信息很相似。使用格式如下:
Session("Session名称")=变量或字符串信息
例如,
<%Session("userName")="张三" '将字符串存入Session
Session("age")=19 '将数字信息存入Session
Dim a
a="wweer@126.com"
Session("email")=a '将变量的值存入Session
%>
注意:Session对象还可以存储数组信息,请读者查阅相关的参考书籍。
2. 读取Session信息
读取Session信息和读取变量信息一样简单,它可以放在赋值语句中或其他的地方。例如,
<% Dim b
b=Session("userName")
Response.write Session("userName")
%>
3. 利用Session.Timeout属性设置Session有效期
利用Session对象存储的数据并不是永远有效,如果没有特别说明,默认存储时间为20分钟。如果客户端超过20分钟没有向服务器提出请求或刷新Web 页面,该Session对象就会自动结束。Session.Timeout属性的使用格式如下:
Session("Session变量名")=intnum 'intnum是超时值,单位为分钟
例如,使用Session.TimeOut属性设置Session有效期为60分钟。
<% Session.Timeout=60 '将Session有效期设为60分钟 %>
4. 利用Session.Abandon 方法清除Session对象中的信息
对象过期之前可以使用Abandon 方法强行清除当前客户的Session对象中存储的所有信息。使用格式如下:
Session.Abandon
例如,
<%
Session("userName")="张三" '将字符串存入Session
Session("age")=32 '将数字信息存入Session
Session.Abandon '清除Session
Response.write Session("userName")'Session已经清除,所以不会输出任何信息
%>
使用Session对象实现6-19.asp类似的功能,增加了一个注销功能,由6-20-1.asp实现,把6-20.asp和6-20-1.asp放置在同一个文件夹。
-------------------------清单6-20 6-20.asp --------------------------
<html>
<head>
<title>Session综合示例</title>
</head>
<body>
<% if Session("UserName")<>"" then
Response.write"欢迎您:"&Session("UserName")
Response.write "<a href=6-20-1.asp>注销</a>" '将HTML代码插入asp中
else
%>
<table width="98%" height="30" border="0" cellpadding="0"
cellspacing="1" bgcolor="#666666">
<tr bgcolor="#CCCCCC">
<td>
<form name="form1" method="post" action=""> 'HTML表单
请输入: 用户名:
<input name="UserName" type="text" id="UserName" size="12">
电子邮件:
<input name="Email" type="text" id="Email" size="12">
<input type="submit" name="Submit" value="确定">
</form>
</td>
</tr>
</table>
<%
if request.Form("UserName")<>"" and request.Form("Email")<>"" then
Session("UserName")=Request.Form("UserName")
Session("Email")=Request.Form("Email")
Response.redirect("6-20.asp")'相当于刷新本页
Response.end
end if
end if
%>
</body>
</html>
------------------------清单6-20-1 6-20-1.asp ----------------------
<%
Session.Abandon '清除Session,实现注销功能
Response.redirect "6-20.asp" '转到6-20.asp页面
%>
--------------------------------------------------------------------
6-20.asp的调试结果与6-19.asp相似。
注意:本例中有一行asp代码Response.write "<a href=6-20-1.asp>注销</a>",它将一段HTML代码<a href=6-20-1.asp>注销</a>以字符串的形式写在Response.write的后面,这是将HTML代码插入asp代码中的基本方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。