ASP 快速參考
W3Schools 的 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 Cookie
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 檔案。#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\headers 中,則以下行將在您的檔案中插入 "header.inc"
<!-- #include file ="headers\header.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 檔案,我們必須將子程式放在 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 是一個 DLL 檔案內容的容器,對應於 COM 物件。透過將 TypeLibrary 呼叫包含在 Global.asa 檔案中,可以訪問 COM 物件的常量,並且 ASP 程式碼可以更好地報告錯誤。如果您的 Web 應用程式依賴於聲明瞭型別庫中資料型別的 COM 物件,則可以在 Global.asa 中宣告這些型別庫。
語法
<!--METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->
Session 物件
Session 物件用於儲存使用者資訊或更改使用者會話的設定。儲存在 Session 物件中的變數儲存有關單個使用者的資訊,並且對應用程式中的所有頁面都可用。
集合
- Contents - 包含透過指令碼命令新增到 session 的所有項
- StaticObjects - 包含透過 <object> 標籤和給定 session 新增到 session 的所有物件
- Contents.Remove(item/index) - 從 Contents 集合中刪除一個項
- Contents.RemoveAll() - 從 Contents 集合中刪除所有項
屬性
- CodePage - 設定將用於顯示動態內容的內碼表
- LCID - 設定將用於顯示動態內容的區域設定識別符號
- SessionID - 返回 session ID
- Timeout - 設定 session 的超時時間
方法
- Abandon - 終止 session 物件中的所有物件
Application 物件
一組協同工作的 ASP 檔案以完成某些目的,這稱為應用程式。ASP 中的 Application 物件用於將這些檔案關聯起來。所有使用者共享一個 Application 物件。Application 物件應包含應用程式中的許多頁面將使用的資訊(例如資料庫連線資訊)。
集合
- Contents - 包含透過指令碼命令新增到 application 的所有項
- StaticObjects - 包含透過 <object> 標籤新增到 application 的所有物件
- Contents.Remove - 從集合中刪除一個項
- Contents.RemoveAll - 從集合中刪除所有項
方法
- Lock - 防止使用者更改 application 物件屬性
- Unlock - 允許使用者更改 application 物件屬性
Response 物件
Response 物件用於將伺服器的輸出傳送給使用者。
集合
- Cookies(name) - 設定 cookie 值。如果 cookie 不存在,它將被建立,並採用指定的[值](https://w3schools.tw/asp/asp_cookies.asp)。
屬性
- Buffer - 是否緩衝輸出。當輸出被緩衝時,伺服器將保留響應,直到所有伺服器指令碼都處理完畢,或者直到指令碼呼叫 Flush 或 End 方法。如果設定了此屬性,它應該在 ASP 檔案中的 <html> 標籤之前
- CacheControl - 設定代理伺服器是否可以快取輸出。設定為 Public 時,輸出可以被代理伺服器快取
- Charset(charset_name) - 將字元集名稱(例如 "ISO8859-1")設定為 content type 標頭
- ContentType - 設定 HTTP content type(例如 "text/html", "image/gif", "image/jpeg", "text/plain")。預設為 "text/html"
- Expires - 設定頁面在瀏覽器中快取多久後過期
- ExpiresAbsolute - 設定瀏覽器快取頁面過期的日期和時間
- IsClientConnected - 檢查客戶端是否仍連線到伺服器
- Pics(pics_label) - 向 pics 標籤響應標頭新增一個值
- Status - 指定狀態行的值
方法
- AddHeader(name, value) - 新增一個帶有指定值的 HTML 標頭
- AppendToLog string - 將一個字串新增到伺服器日誌條目的末尾
- BinaryWrite(data_to_write) - 寫入給定的資訊,不進行任何字元集轉換
- Clear - 清除緩衝的輸出。使用此方法處理錯誤。如果 Response.Buffer 未設定為 true,此方法將導致執行時錯誤
- End - 停止處理指令碼,並返回當前結果
- Flush - 立即傳送緩衝的輸出。如果 Response.Buffer 未設定為 true,此方法將導致執行時錯誤
- Redirect(url) - 將使用者重定向到另一個 url
- Write(data_to_write) - 向用戶寫入文字
Request 物件
當瀏覽器向伺服器請求頁面時,這稱為請求。Request 物件用於獲取使用者資訊。
集合
- ClientCertificate - 包含儲存在客戶端證書中的欄位值
- Cookies(name) - 包含 cookie 值
- Form(element_name) - 包含表單(輸入)值。表單必須使用 post 方法
- QueryString(variable_name) - 包含查詢字串中的變數值
- 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 檔案進行處理。傳輸後,過程控制不會返回到原始 ASP 檔案
- URLEncode(string) - 將 URL 編碼規則應用於字串
來源: https://w3schools.tw/asp/asp_quickref.asp