ASP 快速参考

来自 Linkba.cn 的 ASP 快速参考。打印出来,放入口袋,以备随时使用。

基础语法

ASP 脚本由 <% 和 %> 包围。这样向浏览器输出内容:

<html>
<body>
<% response.write("Hello World!") %>
</body>
</html>

ASP 中的默认语言是 VBScript。如需使用其他脚本语言,请在 ASP 页面顶端插入一段语言声明:

<%@ language="javascript" %>
<html>
<body>

<%
....
%>

表单和用户输入

Request.QueryString 用户收集 method="get" 的表单中的值。从表单通过 GET 发送的信息对所有人都可见(将显示在浏览器的地址栏中),对所发送的数据量也有限制。

Request.Form 用于收集 method="post" 的表单中的值。从表单通过 POST 发送的信息对其他人是不可见,对所发送的数据量没有限制。

ASP Cookies

cookie 常用语识别用户。cookie 是服务器嵌到用户计算机上的小文件。每当相同的计算机通过浏览器请求摸个页面时,也会发送 cookie。

Response.Cookies 命令用于创建 cookie:

<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires="May 10,2012"
%>

注释:Response.Cookies 命令必须位于 <html> 标签之前!

"Request.Cookies" 命令用于取回 cookie 值:

<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>

引用文件

通过 #include 指令,在服务器执行前,您能够把一个 ASP 文件的内容插入另一个 ASP 文件中。#include 指令用于创建函数、页头、页脚,或多个页面上重复使用的元素。

语法:

<!--#include virtual="somefile.inc"-->

或者

<!--#include file ="somefile.inc"-->

请使用关键词 virtual 来指示以虚拟目录开始的路径。如果名为 "header.inc" 的文件位于名为 /html 的虚拟目录中,那么下面的代码会插入 "header.inc" 的内容:

<!-- #include virtual ="/html/header.inc" -->

请使用关键词 file 来指示相对路径。相对路径以包含该引用文件的目录开头。如果您的文件位于 html 目录中,而文件 "header.inc" 位于 html\headers 中,下面的代码将在您的文件中插入 "header.inc" 的内容:

<!-- #include file ="headers\header.inc" -->

请使用关键词 file 与语法 (..\) 来引用更高层级目录中的文件。

Global.asa

Global.asa 文件是可选文件,可包含能够由 ASP 应用程序中的每个页面访问的对象声明、变量以及方法。

注释:Global.asa 文件必须存放在 ASP 应用程序的根目录中,而且每个应用程序只能有一个 Global.asa 文件。

Global.asa 文件只能包含以下内容:

  • Application 事件
  • Session 事件
  • <object> 声明
  • TypeLibrary 声明
  • #include 指令

Application 和 Session 事件

在 Global.asa 中,您可以告诉 application 和 session 对象当 application/session 开始时做什么,当 application/session 结束时做什么。完成该任务的代码位于事件处理程序中。

注释:在 Global.asa 文件中插入代码时,我们并不使用 <% 和 %>,我们需要在 HTML <script> 标签内部放置子程序:

<script language="vbscript" runat="server">
sub Application_OnStart
  ' some code
end sub
sub Application_OnEnd
  ' some code
end sub
sub Session_OnStart
  ' some code
end sub
sub Session_OnEnd
  ' some code
end sub
</script>

<object> 声明

通过使用 <object> 标签,也可以在 Global.asa 中创建带有 session 或 application 作用域的对象。

注释:<object> 标签应该位于 <script> 标签之外!

语法:

<object runat="server" scope="scope" id="id"
{progid="progID"|classid="classID"}>
.......
</object>

TypeLibrary 声明

TypeLibrary 是与 COM 对象对应的 DLL 文件的内容容器。通过在 Global.asa 文件中包含对 TypeLibrary 的调用,就能够访问 COM 对象的常量,同时 ASP 代码也能够更好地报告错误。如果您的 Web 应用程序依赖已在类型库中声明了数据类型的 COM 对象,您可以在 Global.asa 中声明该类型库。

语法:

<!--
METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->

Session 对象

Session 对象用于存储有关用户 session 的信息,或者更改其设置。Session 对象中存储的变量存有关于单个用户的信息,并且能够由一个应用程序中的所有页面进行访问。

集合

  • Contents - 包含所有通过脚本命令追加到 session 的条目
  • StaticObjects - 包含了所有使用 HTML 的 <object> 标签追加到 session 的对象
  • Contents.Remove(item/index) - 从 Contents 集合删除一个项目
  • Contents.RemoveAll() - 从 Contents 集合删除全部项目

属性

  • CodePage - 规定显示动态内容时使用的字符集
  • LCID - 设置用于显示动态内容的区域标识符
  • SessionID - 返回 session id
  • Timeout - 设置或返回 session 的超时时间

方法

  • Abandon - 撤销 session 对象中的所有对象。

Application 对象

在一起工作以完成某项任务的一组 ASP 文件被称为一个应用程序。ASP 中的 Application 对象用于将这些文件捆绑在一起。所有用户捆绑一个 Application 对象。Application 对象应该存有被应用程序中的许多页面使用的信息(例如数据库连接信息)。

集合

  • Contents - 包含所有通过脚本命令追加到应用程序中的项目
  • StaticObjects - 包含所有使用 HTML 的 <object> 标签追加到应用程序中的对象
  • Contents.Remove - 从 Contents 集合中删除一个项目
  • Contents.RemoveAll - 从 Contents 集合中删除所有的项目

方法

  • Lock - 防止用户修改 Application 对象中的变量
  • Unlock - 允许用户修改 Application 对象中的变量

Response 对象

Response 对象用于从服务器将输出发送给用户。

集合

Cookies(name) - 设置 cookie 的值。假如不存在,就创建 cookie ,然后设置指定的值。

属性

  • Buffer - 规定是否缓冲输出。当输出设置缓存时,服务器会阻止向浏览器的响应,直到所有的服务器脚本均被处理,或者直到脚本调用了 Flush 或 End 方法。如果要设置此属性,它应当位于 .asp 文件中的 <html> 标签之前。
  • CacheControl - 设置代理服务器是否可以缓存由 ASP 产生的输出。如果设置为 Public,则代理服务器会缓存页面。
  • Charset(charset_name) - 将字符集的名称追加到 Response 对象中的 content-type 报头。
  • ContentType - 设置 Response 对象的 HTTP 内容类型。(比如 "text/html", "image/gif", "image/jpeg", "text/plain")。默认是 "text/html"
  • Expires - 设置页面在失效前的浏览器缓存时间(分钟)
  • ExpiresAbsolute - 设置浏览器上页面缓存失效的日期和时间
  • IsClientConnected - 指示客户端是否已从服务器断开
  • Pics(pics_label) - 向 response 报头的 PICS 标志追加值
  • Status - 规定由服务器返回的状态行的值

方法

  • AddHeader(name, value) - 向 HTTP 响应添加新的 HTTP 报头和值
  • AppendToLog string - 向服务器记录项目(server log entry)的末端添加字符串
  • BinaryWrite(data_to_write) - 在没有任何字符转换的情况下直接向输出写数据
  • Clear - 清除已缓冲的输出。使用该方法来处理错误。如果 Response.Buffer 未设置为 true,该方法将产生 run-time 错误
  • End - 停止处理脚本,并返回当前的结果
  • Flush - 立即发送已缓存的输出。如果 Response.Buffer 未设置为 true,该方法将产生 run-time 错误
  • Redirect(url) - 把用户重定向到另一个 URL
  • Write(data_to_write) - 向用户写文本

Request 对象

当浏览器从服务器请求页面时,就被称为 request。request 对象用于获取来自用户的信息。

集合

  • ClientCertificate - 包含了在客户证书中存储的字段值
  • Cookies(name) - 包含 cookie 值
  • Form(element_name) - 包含表单值。该表单必须使用 post 方法
  • QueryString(variable_name) - 包含查询字符串中的变量值
  • ServerVariables(server_variable) - 包含服务器变量值

属性

  • TotalBytes - 返回在请求正文中客户端所发送的字节总数

方法

  • BinaryRead - 取回作为 post 请求的一部分而从客户端送往服务器的数据

Server 对象

Server 对象用于访问服务器上的属性和方法。

属性

ScriptTimeout - 设置或返回一段脚本在终止前所能运行多长时间。

方法

  • CreateObject(type_of_object) - 创建对象的实例
  • Execute(path) - 从 ASP 文件内部执行另一个 ASP 文件。在被调用的 ASP 文件执行完毕后,控制权返回原先的 ASP 文件
  • GetLastError() - 返回描述所发生错误的 ASPError 对象
  • HTMLEncode(string) - 对字符串应用 HTML 编码
  • MapPath(path) - 把相对或虚拟路径映射为物理路径
  • Transfer(path) - 把所有状态信息发送到另一个文件,以备处理。在传送之后,程序的控制权不会返回原先的 ASP 文件
  • URLEncode(string) - 对字符串应用 URL 编码规则

来源:http://www.linkba.cn/asp/asp_quickref.asp