Application对象表示asp页面的集合,共有0个属性,2个集合(Contents StaticObjects),两个方法(Lock() Unlock()),两个事件(Application_OnStart() Application_OnEnd())。
Contents允许在Application范围内设定并取回变量值,格式为Application.Contents("variableName")="variableValue",可以简写为Application("variableName")="variableValue"。
StaticObjects包含在<OBJECT>标记里面,一般写在global.asa文件中。将在asa文件的介绍中专门的学习
需要注意的一点是,Application的变量是在所有访问者之间共享的,也就是说,如果某个访问者设定了某个变量的值之后,其余的访问者看到的也将是这一个值了。因此,Application变量决不是在访问者之间传递消息的有效方式。
Lock() 和Unlock() lock()阻止所有其他的访问者修改Application变量,而Unlock()释放这种锁定,允许其他用户修改。这在某些大型的网站中是非常必要和重要的。
Application_OnStart() Application_OnEnd()这两个时间都是在global.asa文件中被访问。
Application.Contents有两个自己的方法,Application.Contents.Remove("variableName") Application.Contents.RemoveAll(), 意义都是显然的了。看如下例子:
<%@ language=javascript %>
<html>
<strong>Please select the background color:</strong><br>
<form action=fortest15.asp method=post>
<select name=bgcolorName>
<option>red</option>
<option>blue</option>
<option>green</option>
</select><br>
<input type=submit value=OK><br>
<a href=fortest15_1.asp>no, click here<a>to use default.
</form>
</html>
fortest15.asp
<%@ language=javascript %>
<%
var bgcolorName=new String(Request.Form("bgcolorName"));
if(bgcolorName=="red"){
Application.Contents("bgcolorName")="red";
}
if(bgcolorName=="blue"){
Application.Contents("bgcolorName")="blue";
}
if(bgcolorName=="green"){
Application.Contents("bgcolorName")="green";
}
%>
<html>
<body bgcolor=<%=Application.Contents("bgcolorName")%> >
<strong>you have selected the color of <%=Application.Contents("bgcolorName")%></strong><br>
</body>
</html>
fortest15_1.asp
<%@ language=javascript %>
<html>
<body>
<strong>you donot select the bgcolor,so use the default white.</strong><br>
</body>
</html>