Latest web development tutorials

ASP 快速參考

來自W3CSchool 的ASP 快速參考。 打印出來,放入口袋,以備隨時使用。


基礎語法

ASP 腳本由<% 和%> 包圍。 向瀏覽器寫輸出:

<html>
<body>
<% response.write("Hello World!") %>
</body>
</html>

ASP 中的默認語言是VBScript。 如需使用其他腳本語言,請在ASP 頁面頂部插入一段語言說明:

<%@ language="javascript" %>
<html>
<body>

<%
....
%>

表單和用戶輸入

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命令必須出現在<html>標籤之前!

"Request.Cookies" 命令用於取回cookie 值:

<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>

引用文件

通過使用#include 指令,您可以在服務器執行ASP 文件之前,把另一個ASP 文件的內容插入到這個ASP 文件中。 #include 指令用於創建函數、頁眉、頁腳或者其他多個頁面上需要重複使用的元素等。

語法:

<!--#include virtual="somefile.inc"-->
或者
<!--#include file ="somefile.inc"-->

請使用關鍵詞virtual 來指示以虛擬目錄開始的路徑。 如果一個名為"header.inc" 的文件位於虛擬目錄/html 中,下面這行代碼會插入"header.inc" 文件中的內容:

<!-- #include virtual ="/html/header.inc" -->

請使用關鍵詞file 來指示一個相對路徑。 相對路徑是以含有引用文件的目錄開始的。 如果您在html 目錄中有一個文件,且"header.inc" 文件位於html 頭部,下面這行代碼將在您的文件中插入"header.inc" 文件中的內容:

<!-- #include file ="headersheader.inc" -->

請使用帶有語法(..) 的關鍵詞file 來引用更高層級目錄中的文件。

Global.asa

Global.asa 文件是一個可選的文件,它可包含被ASP 應用程序中每個頁面訪問的對象、變量和方法的聲明。

註釋: Global.asa文件必須存放在ASP應用程序的根目錄中,而且每個應用程序只能有一個Global.asa文件。

Global.asa 文件只能包含下列內容:

  • Application 事件
  • Session 事件
  • <object> 聲明
  • TypeLibrary 聲明
  • #include 指令

Application和Session事件

在Global.asa 中,您可以告訴application 和session 對象當application/session 開始時做什麼,當application/session 結束時做什麼。 完成這項任務的代碼被放置在事件句柄中。註釋:由於我們無法在Global.asa文件中使用ASP的腳本分隔符(<%和%>)插入腳本,我們需要把子例程放置在HTML的<script>標籤內部:

<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 文件中創建帶有session 或者application 作用域的對象。註釋: <object>標籤應位於<script>標籤外部!

語法:

<object runat="server" scope="scope" id="id"
{progid="progID"|classid="classID"}>
.......
</object>

TypeLibrary聲明

TypeLibrary(類型庫)是一個容器,其中裝有對應於COM 對象的DLL 文件。 通過在Global.asa 文件中包含對TypeLibrary 的調用,可以訪問COM 對象的常量,同時ASP 代碼也能更好地報告錯誤。 如果您的Web 應用程序依賴於已在類型庫中聲明的數據類型的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 - 規定顯示動態內容時使用的字符集。
  • LCID - 設置用於顯示動態內容的區域標識符。
  • SessionID - 返回session id
  • Timeout - 設置或返回session 的超時時間。

方法

  • Abandon - 撤銷session 對像中的所有對象。

Application 對象

在一起協同工作以完成某項任務的一組ASP 文件稱為一個應用程序。 Application 對像用於把這些文件捆綁在一起。 所有的用戶分享一個Application 對象。 Application 對象存有會被應用程序中的許多頁面使用的信息(比如數據庫連接信息)。

集合

  • Contents - 包含所有通過腳本命令追加到應用程序中的項目。
  • StaticObjects - 包含所有使用HTML 的<object> 標籤追加到應用程序中的對象。
  • Contents.Remove - 從Contents 集合中刪除一個項目。
  • Contents.RemoveAll - 從Contents 集合中刪除所有的項目。

方法

  • Lock - 防止用戶修改Application 對像中的屬性。
  • Unlock - 允許用戶修改Application 對像中的屬性。

Response 對象

Response 對像用於從服務器向用戶發送輸出的結果。

集合

  • Cookies(name) - 設置cookie 的值。 如果cookie 不存在,則創建cookie ,並設置指定的值。

屬性

  • Buffer - 規定是否緩衝輸出。 當輸出設置緩衝時,服務器會阻止向瀏覽器的響應,直到所有的服務器腳本均被處理,或者直到腳本調用了Flush 或End 方法。 如果要設置此屬性,它應當位於ASP 文件中的<html> 標籤之前。
  • 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報頭和值。
  • AppendToLogstring -向服務器記錄項目(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) -向用戶寫文本。

Request 對象

當瀏覽器向服務器請求頁面時,這個行為就被稱為一​​個request(請求)。 Request 對像用於從用戶那裡獲取信息。

集合

  • ClientCertificate - 包含了存儲在客戶證書中的所有的字段值。
  • Cookies(name) -包含了HTTP請求中發送的所有的cookie值。
  • Form(element_name) -包含了使用post方法由表單發送的所有的表單(輸入)值。
  • QueryString(variable_name) -包含了HTTP查詢字符串中所有的變量值。
  • ServerVariables(server_variable) -包含了所有的服務器變量值。

屬性

  • TotalBytes - 返回在請求正文中客戶端發送的字節總數。

方法

  • BinaryRead - 取回作為post 請求的一部分而從客戶端發送至服務器的數據。

Server 對象

Server 對像用於訪問服務器上的屬性和方法。

屬性

  • ScriptTimeout - 設置或返回在一段腳本終止前它所能運行時間(秒)的最大值。

方法

  • CreateObject(type_of_object) -創建對象的實例。
  • Execute(path) -從ASP文件內部執行另一個ASP文件。 在被調用的ASP 文件執行完畢後,控制權返回原先的ASP 文件。
  • GetLastError() - 返回可描述已發生錯誤狀態的ASPError 對象。
  • HTMLEncode(string) -對字符串應用HTML編碼。
  • MapPath(path) -把相對或虛擬路徑映射為物理路徑。
  • Transfer(path) -把所有狀態信息發送到另一個文件以備處理。 在傳送之後,程序的控制權不會返回原先的ASP 文件。
  • URLEncode(string) -對字符串應用URL編碼規則。

來源:http://www.w3cschool.cc/asp/asp-quickref.html