asp 快速參考
來自碩編程的 asp 快速參考。打印出來,放入口袋,以備隨時使用。
基礎(chǔ)語法
asp 腳本由 <% 和 %> 包圍。向瀏覽器寫輸出:
<%
response.write("hello world!")
%>
asp 中的默認語言是 vbscript。如需使用其他腳本語言,請在 asp 頁面頂部插入一段語言說明:
<%@ language="javascript" %>
<%
....
%>
表單和用戶輸入
request.querystring 用于收集 method="get" 的表單中的值。使用 get 方法從表單傳送的信息對所有的用戶都是可見的(出現(xiàn)在瀏覽器的地址欄),并且對所發(fā)送信息的量也有限制。
request.form 用于收集使用 method="post" 的表單中的值。使用 post 方法從表單傳送的信息對用戶是不可見的,并且對所發(fā)送信息的量沒有限制。
asp cookies
cookie 常用用于識別用戶。cookie 是一種服務(wù)器留在用戶計算機上的小文件。每當同一臺計算機通過瀏覽器請求頁面時,這臺計算機將會發(fā)送 cookie。
response.cookies 命令用于創(chuàng)建 cookie:
<%
response.cookies("firstname")="alex"
response.cookies("firstname").expires="may 10,2002"
%>
注釋:response.cookies 命令必須出現(xiàn)在 標簽之前!
"request.cookies" 命令用于取回 cookie 值:
<%
fname=request.cookies("firstname")
response.write("firstname=" & fname)
%>
引用文件
通過使用 #include 指令,您可以在服務(wù)器執(zhí)行 asp 文件之前,把另一個 asp 文件的內(nèi)容插入到這個 asp 文件中。#include 指令用于創(chuàng)建函數(shù)、頁眉、頁腳或者其他多個頁面上需要重復(fù)使用的元素等。
語法:
或者
請使用關(guān)鍵詞 virtual 來指示以虛擬目錄開始的路徑。如果一個名為 "header.inc" 的文件位于虛擬目錄 /html 中,下面這行代碼會插入 "header.inc" 文件中的內(nèi)容:
請使用關(guān)鍵詞 file 來指示一個相對路徑。相對路徑是以含有引用文件的目錄開始的。如果您在 html 目錄中有一個文件,且 "header.inc" 文件位于 html 頭部,下面這行代碼將在您的文件中插入 "header.inc" 文件中的內(nèi)容:
請使用帶有語法 (..) 的關(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 事件
- 聲明
- typelibrary 聲明
- #include 指令
- contents - 包含所有通過腳本命令追加到 session 的條目。
- staticobjects - 包含了所有使用 html 的 標簽追加到 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 對象中的所有對象。
- contents - 包含所有通過腳本命令追加到應(yīng)用程序中的項目。
- staticobjects - 包含所有使用 html 的 標簽追加到應(yīng)用程序中的對象。
- contents.remove - 從 contents 集合中刪除一個項目。
- contents.removeall - 從 contents 集合中刪除所有的項目。
- lock - 防止用戶修改 application 對象中的屬性。
- unlock - 允許用戶修改 application 對象中的屬性。
- cookies(name) - 設(shè)置 cookie 的值。如果 cookie 不存在,則創(chuàng)建 cookie ,并設(shè)置指定的值。
- buffer - 規(guī)定是否緩沖輸出。當輸出設(shè)置緩沖時,服務(wù)器會阻止向瀏覽器的響應(yīng),直到所有的服務(wù)器腳本均被處理,或者直到腳本調(diào)用了 flush 或 end 方法。如果要設(shè)置此屬性,它應(yīng)當位于 asp 文件中的 標簽之前。
- cachecontrol - 設(shè)置代理服務(wù)器是否可以緩存由 asp 產(chǎn)生的輸出。如果設(shè)置為 public,則代理服務(wù)器會緩存頁面。
- charset(charset_name) - 將字符集的名稱(比如 "iso8859-1")追加到 response 對象中的內(nèi)容類型報頭。
- 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) - 向用戶寫文本。
- clientcertificate - 包含了存儲在客戶證書中的所有的字段值。
- cookies(name) - 包含了 http 請求中發(fā)送的所有的 cookie 值。
- form(element_name) - 包含了使用 post 方法由表單發(fā)送的所有的表單(輸入)值。
- querystring(variable_name) - 包含了 http 查詢字符串中所有的變量值。
- servervariables(server_variable) - 包含了所有的服務(wù)器變量值。
- totalbytes - 返回在請求正文中客戶端發(fā)送的字節(jié)總數(shù)。
- binaryread - 取回作為 post 請求的一部分而從客戶端發(fā)送至服務(wù)器的數(shù)據(jù)。
- scripttimeout - 設(shè)置或返回在一段腳本終止前它所能運行時間(秒)的最大值。
- 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) - 對字符串應(yīng)用 html 編碼。
- mappath(path) - 把相對或虛擬路徑映射為物理路徑。
- transfer(path) - 把所有狀態(tài)信息發(fā)送到另一個文件以備處理。在傳送之后,程序的控制權(quán)不會返回原先的 asp 文件。
- urlencode(string) - 對字符串應(yīng)用 url 編碼規(guī)則。
application 和 session 事件
在 global.asa 中,您可以告訴 application 和 session 對象當 application/session 開始時做什么,當 application/session 結(jié)束時做什么。完成這項任務(wù)的代碼被放置在事件句柄中。注釋:由于我們無法在 global.asa 文件中使用 asp 的腳本分隔符 (<% 和 %>) 插入腳本,我們需要把子例程放置在 html 的 標簽內(nèi)部:
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 文件中創(chuàng)建帶有 session 或者 application 作用域的對象。注釋: 標簽應(yīng)位于 標簽外部!
語法:
.......
typelibrary 聲明
typelibrary(類型庫)是一個容器,其中裝有對應(yīng)于 com 對象的 dll 文件。通過在 global.asa 文件中包含對 typelibrary 的調(diào)用,可以訪問 com 對象的常量,同時 asp 代碼也能更好地報告錯誤。如果您的 web 應(yīng)用程序依賴于已在類型庫中聲明的數(shù)據(jù)類型的 com 對象,您可以在 global.asa 中對類型庫進行聲明。
語法:
session 對象
session 對象用于存儲關(guān)于用戶會話(session)的信息,或者更改用戶會話(session)設(shè)置。存儲于 session 對象中的變量存儲單一用戶的信息,并且對于應(yīng)用程序中的所有頁面都是可用的。
集合
屬性
方法
application 對象
在一起協(xié)同工作以完成某項任務(wù)的一組 asp 文件稱為一個應(yīng)用程序。application 對象用于把這些文件捆綁在一起。所有的用戶分享一個 application 對象。application 對象存有會被應(yīng)用程序中的許多頁面使用的信息(比如數(shù)據(jù)庫連接信息)。
集合
方法
response 對象
response 對象用于從服務(wù)器向用戶發(fā)送輸出的結(jié)果。
集合
屬性
方法
request 對象
當瀏覽器向服務(wù)器請求頁面時,這個行為就被稱為一個 request(請求)。request 對象用于從用戶那里獲取信息。
集合
屬性
方法
server 對象
server 對象用于訪問服務(wù)器上的屬性和方法。
屬性
方法