ASP 快速參考
來自 CodeW3C.com 的 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.codew3c.com/asp/asp_quickref.asp