ASP 快速参考
W3Schools 的 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 Cookie
Cookie 通常用于识别用户。Cookie 是服务器嵌入用户计算机的一个小文件。每次同一台计算机通过浏览器请求页面时,它也会发送 Cookie。
Response.Cookies 命令用于创建 Cookie
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires="May 10,2002"
%>
注意: 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 是一个 DLL 文件内容的容器,对应于 COM 对象。通过将 TypeLibrary 调用包含在 Global.asa 文件中,可以访问 COM 对象的常量,并且 ASP 代码可以更好地报告错误。如果您的 Web 应用程序依赖于声明了类型库中数据类型的 COM 对象,则可以在 Global.asa 中声明这些类型库。
语法
<!--METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->
Session 对象
Session 对象用于存储用户信息或更改用户会话的设置。存储在 Session 对象中的变量保存有关单个用户的信息,并且对应用程序中的所有页面都可用。
集合
- Contents - 包含通过脚本命令添加到 session 的所有项
- StaticObjects - 包含通过 <object> 标签和给定 session 添加到 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 - 包含通过脚本命令添加到 application 的所有项
- StaticObjects - 包含通过 <object> 标签添加到 application 的所有对象
- Contents.Remove - 从集合中删除一个项
- Contents.RemoveAll - 从集合中删除所有项
方法
- Lock - 防止用户更改 application 对象属性
- Unlock - 允许用户更改 application 对象属性
Response 对象
Response 对象用于将服务器的输出发送给用户。
集合
- Cookies(name) - 设置 cookie 值。如果 cookie 不存在,它将被创建,并采用指定的[值](https://w3schools.org.cn/asp/asp_cookies.asp)。
属性
- Buffer - 是否缓冲输出。当输出被缓冲时,服务器将保留响应,直到所有服务器脚本都处理完毕,或者直到脚本调用 Flush 或 End 方法。如果设置了此属性,它应该在 ASP 文件中的 <html> 标签之前
- CacheControl - 设置代理服务器是否可以缓存输出。设置为 Public 时,输出可以被代理服务器缓存
- Charset(charset_name) - 将字符集名称(例如 "ISO8859-1")设置为 content type 标头
- ContentType - 设置 HTTP content type(例如 "text/html", "image/gif", "image/jpeg", "text/plain")。默认为 "text/html"
- Expires - 设置页面在浏览器中缓存多久后过期
- ExpiresAbsolute - 设置浏览器缓存页面过期的日期和时间
- IsClientConnected - 检查客户端是否仍连接到服务器
- Pics(pics_label) - 向 pics 标签响应标头添加一个值
- Status - 指定状态行的值
方法
- AddHeader(name, value) - 添加一个带有指定值的 HTML 标头
- AppendToLog string - 将一个字符串添加到服务器日志条目的末尾
- BinaryWrite(data_to_write) - 写入给定的信息,不进行任何字符集转换
- Clear - 清除缓冲的输出。使用此方法处理错误。如果 Response.Buffer 未设置为 true,此方法将导致运行时错误
- End - 停止处理脚本,并返回当前结果
- Flush - 立即发送缓冲的输出。如果 Response.Buffer 未设置为 true,此方法将导致运行时错误
- Redirect(url) - 将用户重定向到另一个 url
- Write(data_to_write) - 向用户写入文本
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 文件进行处理。传输后,过程控制不会返回到原始 ASP 文件
- URLEncode(string) - 将 URL 编码规则应用于字符串
来源: https://w3schools.org.cn/asp/asp_quickref.asp