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, 值) - 向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) - 向使用者寫文字。

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