top
Loading...
ASP 快速參考

ASP 快速參考


來自教程的 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 報頭和值。
  • 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 編碼規則。
北斗有巢氏 有巢氏北斗