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