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 對象用于訪問服務器上的屬性和方法。
屬性
方法