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