当前位置: 首页 > 图文教程 > 网络编程 > ASP > javascript asp教程第十一课--Application 对象

ASP
使用组件搜索
检查sql字符串中是否有单引号,有则进行转化.
判断文章中文字符数量
转换html代码子程序
简单的检查输入email是否合法程序
检查来访IP是否合法的实际应用
如何使用asp创建dsn
如何用asp进行base64加密
在ASP+中使用Cookie
asp+ 如何跨站抓取页面
在Asp中不借助第三方组件抓取别的站点的页面
如何在网页中变化图象(速度无延迟)
利用OWC服务器端组件动态生成图表
实现聊天室在线人员无刷新所需要的javascript技术 - 1
实现聊天室在线人员无刷新所需要的javascript技术 - 2
实现聊天室在线人员无刷新所需要的javascript技术 - 3
精彩ASP-镜象站点速度测试
在JSP、ASP和PHP网站网页中使用XHTML
ADO如何善用RecordSet组件呢?
ADO如何新增修改刪除数据库的资料呢?

ASP 中的 javascript asp教程第十一课--Application 对象


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 150 ::
收藏到网摘: n/a

Overview:

The Application Object represents a collection of ASP pages. The Application object has zero (0) properties, two (2) collections, two (2) methods, and two (2) events.

Get Started:

Below are a couple scripts for lesson11.

<%@LANGUAGE="JavaScript"%>
<%
//No ASP Here, just a regular HTML Page
%>
<HTML>
<FORM ACTION="script11a.asp" METHOD="Post">
<STRONG>Would you like to chose the official Application color?</STRONG><BR>
<SELECT NAME="OfficialColor">
<OPTION>red</OPTION>
<OPTION>white</OPTION>
<OPTION>blue</OPTION>
</SELECT><BR>
<INPUT TYPE="Submit" VALUE="Yes, click here">
</FORM>
No, <A HREF="script11a.asp">click here</A>.
</HTML>

Click Here to run script11.asp in a new window. Below is script11a.asp.

<%@LANGUAGE="JavaScript"%>
<HTML>
<%
Application.Lock()
var OfficialColor = new String( Request.Form("OfficialColor") )
if (OfficialColor=="red")	{	Application("OfficialColor") = "red"	}
if (OfficialColor=="white")	{	Application("OfficialColor") = "white"	}
if (OfficialColor=="blue")	{	Application("OfficialColor") = "blue"	}
if (OfficialColor=="undefined")	{	//Do nothing. Just leave the color alone.	}
Application.Unlock()
%>
<BODY BGCOLOR="<%=Application("OfficialColor")%>">
<STRONG>
The official application color is <%=Application("OfficialColor")%>.<BR>
</STRONG>
</BODY>
</HTML>

Application Collections:

The two collections are Contents and StaticObjects. StaticObjects come in the form of the <OBJECT> flag. That's done in the global.asa that we saw in Lesson 09. I'll demonstrate it again down below.

By contrast, the Contents collection is demonstrated above. It allows you to set and retrieve variables with Application scope. The format for setting an Application variable is Application.Contents("VariableName")="VariableValue". However, since Contents is the default Collection, we have a little shortcut for setting Application variables. The shortcut goes like this: Application("VariableName")="VariableValue".

Share the Variable:

One last thought on Application Variables. The application variable is shared by all visitors. Let's say that you and I are on the same ASP web site at the same time. If you set the background color to white in script11.asp, then I will see "white" as the official color if I go directly to script11a.asp. Application Variables are by no means the most efficient means of passing information from one user to another.

No Apartment Model:

You may notice that the example above seems to be inefficient. Why not just directly assign Application("OfficialColor") = Request.Form("OfficialColor")? Because we can't. By design, the newer (and updated) versions of Microsoft server software intentionally do not support Apartment Model Behavior.

Application Methods:

The two Application Methods are Lock() and Unlock(). Lock() blocks all other users from changing the Application variables. Unlock() releases control so that other users can change it. That's important on a larger site where multiple users may be trying to access the same page at the same time.

Application Events:

The two Application events are Application_OnStart() and Application_OnEnd(). These events are accessed in the global.asa. Let's repeat that script from lesson 09.

<OBJECT RUNAT=Server SCOPE=Session ID=MyInfo PROGID="MSWC.MyInfo">
</OBJECT>
<SCRIPT RUNAT="Server" LANGUAGE="JavaScript">
function Application_OnStart()	{	Application("someVariableName")="some value"	}
function Application_OnEnd()	{	Application.Contents.RemoveAll()	}
function Session_OnStart()	{	Session.Timeout=15	}
function Session_OnEnd()	{	//Do Nothing	}
</SCRIPT>
<!-- METADATA TYPE="typelib"
FILE="C:\Program Files\Common Files\System\ado\msado15.dll"
-->

Misc. Items:

Application.Contents has two methods of its own. Application.Contents.Remove("VariableName") and Application.Contents.RemoveAll().

You'll notice there are also Session Events in the global.asa. We'll deal with those in Lesson 12. You'll also notice a call to the ADO Library. We'll talk about that when we get to databases.