ASP 快速參考
來自 W3School 的 ASP 快速參考。打印出來,放入口袋,以備隨時使用。
基礎(chǔ)語法
ASP 腳本由 <% 和 %> 包圍。這樣向瀏覽器輸出內(nèi)容:
<html> <body> <% response.write("Hello World!") %> </body> </html>
ASP 中的默認語言是 VBScript。如需使用其他腳本語言,請在 ASP 頁面頂端插入一段語言聲明:
<%@ language="javascript" %> <html> <body> <% .... %>
表單和用戶輸入
Request.QueryString 用戶收集 method="get" 的表單中的值。從表單通過 GET 發(fā)送的信息對所有人都可見(將顯示在瀏覽器的地址欄中),對所發(fā)送的數(shù)據(jù)量也有限制。
Request.Form 用于收集 method="post" 的表單中的值。從表單通過 POST 發(fā)送的信息對其他人是不可見,對所發(fā)送的數(shù)據(jù)量沒有限制。
ASP Cookies
cookie 常用語識別用戶。cookie 是服務(wù)器嵌到用戶計算機上的小文件。每當相同的計算機通過瀏覽器請求摸個頁面時,也會發(fā)送 cookie。
Response.Cookies 命令用于創(chuàng)建 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 指令,在服務(wù)器執(zhí)行前,您能夠把一個 ASP 文件的內(nèi)容插入另一個 ASP 文件中。#include 指令用于創(chuàng)建函數(shù)、頁頭、頁腳,或多個頁面上重復(fù)使用的元素。
語法:
<!--#include virtual="somefile.inc"-->
或者
<!--#include file ="somefile.inc"-->
請使用關(guān)鍵詞 virtual 來指示以虛擬目錄開始的路徑。如果名為 "header.inc" 的文件位于名為 /html 的虛擬目錄中,那么下面的代碼會插入 "header.inc" 的內(nèi)容:
<!-- #include virtual ="/html/header.inc" -->
請使用關(guān)鍵詞 file 來指示相對路徑。相對路徑以包含該引用文件的目錄開頭。如果您的文件位于 html 目錄中,而文件 "header.inc" 位于 html\headers 中,下面的代碼將在您的文件中插入 "header.inc" 的內(nèi)容:
<!-- #include file ="headers\header.inc" -->
請使用關(guān)鍵詞 file 與語法 (..\) 來引用更高層級目錄中的文件。
Global.asa
Global.asa 文件是可選文件,可包含能夠由 ASP 應(yīng)用程序中的每個頁面訪問的對象聲明、變量以及方法。
注釋:Global.asa 文件必須存放在 ASP 應(yīng)用程序的根目錄中,而且每個應(yīng)用程序只能有一個 Global.asa 文件。
Global.asa 文件只能包含以下內(nèi)容:
- Application 事件
- Session 事件
- <object> 聲明
- TypeLibrary 聲明
- #include 指令
Application 和 Session 事件
在 Global.asa 中,您可以告訴 application 和 session 對象當 application/session 開始時做什么,當 application/session 結(jié)束時做什么。完成該任務(wù)的代碼位于事件處理程序中。
注釋:在 Global.asa 文件中插入代碼時,我們并不使用 <% 和 %>,我們需要在 HTML <script> 標簽內(nèi)部放置子程序:
<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 中創(chuàng)建帶有 session 或 application 作用域的對象。
注釋:<object> 標簽應(yīng)該位于 <script> 標簽之外!
語法:
<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}> ....... </object>
TypeLibrary 聲明
TypeLibrary 是與 COM 對象對應(yīng)的 DLL 文件的內(nèi)容容器。通過在 Global.asa 文件中包含對 TypeLibrary 的調(diào)用,就能夠訪問 COM 對象的常量,同時 ASP 代碼也能夠更好地報告錯誤。如果您的 Web 應(yīng)用程序依賴已在類型庫中聲明了數(shù)據(jù)類型的 COM 對象,您可以在 Global.asa 中聲明該類型庫。
語法:
<!-- METADATA TYPE="TypeLib" file="filename" uuid="typelibraryuuid" version="versionnumber" lcid="localeid" -->
Session 對象
Session 對象用于存儲有關(guān)用戶 session 的信息,或者更改其設(shè)置。Session 對象中存儲的變量存有關(guān)于單個用戶的信息,并且能夠由一個應(yīng)用程序中的所有頁面進行訪問。
集合
- Contents - 包含所有通過腳本命令追加到 session 的條目
- StaticObjects - 包含了所有使用 HTML 的 <object> 標簽追加到 session 的對象
- Contents.Remove(item/index) - 從 Contents 集合刪除一個項目
- Contents.RemoveAll() - 從 Contents 集合刪除全部項目
屬性
- CodePage - 規(guī)定顯示動態(tài)內(nèi)容時使用的字符集
- LCID - 設(shè)置用于顯示動態(tài)內(nèi)容的區(qū)域標識符
- SessionID - 返回 session id
- Timeout - 設(shè)置或返回 session 的超時時間
方法
- Abandon - 撤銷 session 對象中的所有對象。
Application 對象
在一起工作以完成某項任務(wù)的一組 ASP 文件被稱為一個應(yīng)用程序。ASP 中的 Application 對象用于將這些文件捆綁在一起。所有用戶捆綁一個 Application 對象。Application 對象應(yīng)該存有被應(yīng)用程序中的許多頁面使用的信息(例如數(shù)據(jù)庫連接信息)。
集合
- Contents - 包含所有通過腳本命令追加到應(yīng)用程序中的項目
- StaticObjects - 包含所有使用 HTML 的 <object> 標簽追加到應(yīng)用程序中的對象
- Contents.Remove - 從 Contents 集合中刪除一個項目
- Contents.RemoveAll - 從 Contents 集合中刪除所有的項目
方法
- Lock - 防止用戶修改 Application 對象中的變量
- Unlock - 允許用戶修改 Application 對象中的變量
Response 對象
Response 對象用于從服務(wù)器將輸出發(fā)送給用戶。
集合
Cookies(name) - 設(shè)置 cookie 的值。假如不存在,就創(chuàng)建 cookie ,然后設(shè)置指定的值。屬性
- Buffer - 規(guī)定是否緩沖輸出。當輸出設(shè)置緩存時,服務(wù)器會阻止向瀏覽器的響應(yīng),直到所有的服務(wù)器腳本均被處理,或者直到腳本調(diào)用了 Flush 或 End 方法。如果要設(shè)置此屬性,它應(yīng)當位于 .asp 文件中的 <html> 標簽之前。
- CacheControl - 設(shè)置代理服務(wù)器是否可以緩存由 ASP 產(chǎn)生的輸出。如果設(shè)置為 Public,則代理服務(wù)器會緩存頁面。
- Charset(charset_name) - 將字符集的名稱追加到 Response 對象中的 content-type 報頭。
- ContentType - 設(shè)置 Response 對象的 HTTP 內(nèi)容類型。(比如 "text/html", "image/gif", "image/jpeg", "text/plain")。默認是 "text/html"
- Expires - 設(shè)置頁面在失效前的瀏覽器緩存時間(分鐘)
- ExpiresAbsolute - 設(shè)置瀏覽器上頁面緩存失效的日期和時間
- IsClientConnected - 指示客戶端是否已從服務(wù)器斷開
- Pics(pics_label) - 向 response 報頭的 PICS 標志追加值
- Status - 規(guī)定由服務(wù)器返回的狀態(tài)行的值
方法
- AddHeader(name, value) - 向 HTTP 響應(yīng)添加新的 HTTP 報頭和值
- AppendToLog string - 向服務(wù)器記錄項目(server log entry)的末端添加字符串
- BinaryWrite(data_to_write) - 在沒有任何字符轉(zhuǎn)換的情況下直接向輸出寫數(shù)據(jù)
- Clear - 清除已緩沖的輸出。使用該方法來處理錯誤。如果 Response.Buffer 未設(shè)置為 true,該方法將產(chǎn)生 run-time 錯誤
- End - 停止處理腳本,并返回當前的結(jié)果
- Flush - 立即發(fā)送已緩存的輸出。如果 Response.Buffer 未設(shè)置為 true,該方法將產(chǎn)生 run-time 錯誤
- Redirect(url) - 把用戶重定向到另一個 URL
- Write(data_to_write) - 向用戶寫文本
Request 對象
當瀏覽器從服務(wù)器請求頁面時,就被稱為 request。request 對象用于獲取來自用戶的信息。
集合
- ClientCertificate - 包含了在客戶證書中存儲的字段值
- Cookies(name) - 包含 cookie 值
- Form(element_name) - 包含表單值。該表單必須使用 post 方法
- QueryString(variable_name) - 包含查詢字符串中的變量值
- ServerVariables(server_variable) - 包含服務(wù)器變量值
屬性
- TotalBytes - 返回在請求正文中客戶端所發(fā)送的字節(jié)總數(shù)
方法
- BinaryRead - 取回作為 post 請求的一部分而從客戶端送往服務(wù)器的數(shù)據(jù)
Server 對象
Server 對象用于訪問服務(wù)器上的屬性和方法。
屬性
ScriptTimeout - 設(shè)置或返回一段腳本在終止前所能運行多長時間。方法
- CreateObject(type_of_object) - 創(chuàng)建對象的實例
- Execute(path) - 從 ASP 文件內(nèi)部執(zhí)行另一個 ASP 文件。在被調(diào)用的 ASP 文件執(zhí)行完畢后,控制權(quán)返回原先的 ASP 文件
- GetLastError() - 返回描述所發(fā)生錯誤的 ASPError 對象
- HTMLEncode(string) - 對字符串應(yīng)用 HTML 編碼
- MapPath(path) - 把相對或虛擬路徑映射為物理路徑
- Transfer(path) - 把所有狀態(tài)信息發(fā)送到另一個文件,以備處理。在傳送之后,程序的控制權(quán)不會返回原先的 ASP 文件
- URLEncode(string) - 對字符串應(yīng)用 URL 編碼規(guī)則
來源:http://chabaoo.cn/asp/asp_quickref.asp