asp 快速参考
来自硕编程的 asp 快速参考。打印出来,放入口袋,以备随时使用。
基础语法
asp 脚本由 <% 和 %> 包围。向浏览器写输出:
<%
response.write("hello world!")
%>
asp 中的默认语言是 vbscript。如需使用其他脚本语言,请在 asp 页面顶部插入一段语言说明:
<%@ language="javascript" %>
<%
....
%>
表单和用户输入
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,2002"
%>
注释:response.cookies 命令必须出现在 标签之前!
"request.cookies" 命令用于取回 cookie 值:
<%
fname=request.cookies("firstname")
response.write("firstname=" & fname)
%>
引用文件
通过使用 #include 指令,您可以在服务器执行 asp 文件之前,把另一个 asp 文件的内容插入到这个 asp 文件中。#include 指令用于创建函数、页眉、页脚或者其他多个页面上需要重复使用的元素等。
语法:
或者
请使用关键词 virtual 来指示以虚拟目录开始的路径。如果一个名为 "header.inc" 的文件位于虚拟目录 /html 中,下面这行代码会插入 "header.inc" 文件中的内容:
请使用关键词 file 来指示一个相对路径。相对路径是以含有引用文件的目录开始的。如果您在 html 目录中有一个文件,且 "header.inc" 文件位于 html 头部,下面这行代码将在您的文件中插入 "header.inc" 文件中的内容:
请使用带有语法 (..) 的关键词 file 来引用更高层级目录中的文件。
global.asa
global.asa 文件是一个可选的文件,它可包含被 asp 应用程序中每个页面访问的对象、变量和方法的声明。
注释:global.asa 文件必须存放在 asp 应用程序的根目录中,而且每个应用程序只能有一个 global.asa 文件。
global.asa 文件只能包含下列内容:
- application 事件
- session 事件
- 声明
- typelibrary 声明
- #include 指令
- contents - 包含所有通过脚本命令追加到 session 的条目。
- staticobjects - 包含了所有使用 html 的 标签追加到 session 的对象。
- contents.remove(item/index) - 从 contents 集合删除一个项目。
- contents.removeall() - 从 contents 集合删除全部项目。
- codepage - 规定显示动态内容时使用的字符集。
- lcid - 设置用于显示动态内容的区域标识符。
- sessionid - 返回 session id
- timeout - 设置或返回 session 的超时时间。
- abandon - 撤销 session 对象中的所有对象。
- contents - 包含所有通过脚本命令追加到应用程序中的项目。
- staticobjects - 包含所有使用 html 的 标签追加到应用程序中的对象。
- contents.remove - 从 contents 集合中删除一个项目。
- contents.removeall - 从 contents 集合中删除所有的项目。
- lock - 防止用户修改 application 对象中的属性。
- unlock - 允许用户修改 application 对象中的属性。
- cookies(name) - 设置 cookie 的值。如果 cookie 不存在,则创建 cookie ,并设置指定的值。
- buffer - 规定是否缓冲输出。当输出设置缓冲时,服务器会阻止向浏览器的响应,直到所有的服务器脚本均被处理,或者直到脚本调用了 flush 或 end 方法。如果要设置此属性,它应当位于 asp 文件中的 标签之前。
- cachecontrol - 设置代理服务器是否可以缓存由 asp 产生的输出。如果设置为 public,则代理服务器会缓存页面。
- charset(charset_name) - 将字符集的名称(比如 "iso8859-1")追加到 response 对象中的内容类型报头。
- 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) - 向用户写文本。
- clientcertificate - 包含了存储在客户证书中的所有的字段值。
- cookies(name) - 包含了 http 请求中发送的所有的 cookie 值。
- form(element_name) - 包含了使用 post 方法由表单发送的所有的表单(输入)值。
- querystring(variable_name) - 包含了 http 查询字符串中所有的变量值。
- servervariables(server_variable) - 包含了所有的服务器变量值。
- totalbytes - 返回在请求正文中客户端发送的字节总数。
- binaryread - 取回作为 post 请求的一部分而从客户端发送至服务器的数据。
- scripttimeout - 设置或返回在一段脚本终止前它所能运行时间(秒)的最大值。
- createobject(type_of_object) - 创建对象的实例。
- execute(path) - 从 asp 文件内部执行另一个 asp 文件。在被调用的 asp 文件执行完毕后,控制权返回原先的 asp 文件。
- getlasterror() - 返回可描述已发生错误状态的 asperror 对象。
- htmlencode(string) - 对字符串应用 html 编码。
- mappath(path) - 把相对或虚拟路径映射为物理路径。
- transfer(path) - 把所有状态信息发送到另一个文件以备处理。在传送之后,程序的控制权不会返回原先的 asp 文件。
- urlencode(string) - 对字符串应用 url 编码规则。
application 和 session 事件
在 global.asa 中,您可以告诉 application 和 session 对象当 application/session 开始时做什么,当 application/session 结束时做什么。完成这项任务的代码被放置在事件句柄中。注释:由于我们无法在 global.asa 文件中使用 asp 的脚本分隔符 (<% 和 %>) 插入脚本,我们需要把子例程放置在 html 的 标签内部:
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
声明
可通过使用 标签在 global.asa 文件中创建带有 session 或者 application 作用域的对象。注释: 标签应位于 标签外部!
语法:
.......
typelibrary 声明
typelibrary(类型库)是一个容器,其中装有对应于 com 对象的 dll 文件。通过在 global.asa 文件中包含对 typelibrary 的调用,可以访问 com 对象的常量,同时 asp 代码也能更好地报告错误。如果您的 web 应用程序依赖于已在类型库中声明的数据类型的 com 对象,您可以在 global.asa 中对类型库进行声明。
语法:
session 对象
session 对象用于存储关于用户会话(session)的信息,或者更改用户会话(session)设置。存储于 session 对象中的变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。
集合
属性
方法
application 对象
在一起协同工作以完成某项任务的一组 asp 文件称为一个应用程序。application 对象用于把这些文件捆绑在一起。所有的用户分享一个 application 对象。application 对象存有会被应用程序中的许多页面使用的信息(比如数据库连接信息)。
集合
方法
response 对象
response 对象用于从服务器向用户发送输出的结果。
集合
属性
方法
request 对象
当浏览器向服务器请求页面时,这个行为就被称为一个 request(请求)。request 对象用于从用户那里获取信息。
集合
属性
方法
server 对象
server 对象用于访问服务器上的属性和方法。
属性
方法