Active Server Pages(ASP)文件是以 .ASP 為擴展名的文本文件,這個文本文件可以包括下列部分的任意組合:
文本
Html 標記
ASP 腳本命令
創建 .asp 文件非常容易。如果要在 HTML 文件中添加腳本,只需將該文件的擴展名 .htm 或 .html 替換為 .asp 就可以了。要使 .asp 文件可用於 Web 用戶,請將這個新文件保存在 Web 站點上的目錄中(請確定啟用了該目錄的腳本和執行權限)。使用浏覽器查看該文件時,可以看到 ASP 處理並返回了 Html 頁。現在可以在 .ASP 文件中添加腳本命令了。
注意 因為 .ASP 文件需要額外的處理,請不要將所有的 Html 頁都轉換為 ASP 頁。應該只將包含腳本命令的文件轉換為 .asp 文件。.ASP 和 .htm 文件可以放置在相同的目錄中。
使用任何的文本編輯器都可以創建 .asp 文件。使用那些帶有 ASP 增強支持的編輯器將更能提高效率,如 Microsoft® Visual InterDev™ 。如果您從未使用過 Html,請考慮先使用 Microsoft FrontPage 。使用 FrontPage 創建文檔和格式化文本就象使用文字處理工具一樣簡單。接下來還可以使用 Insert Script 命令在 FrontPage 創建的 Html 頁中加入簡單的 ASP 命令。
加入 Script 命令
腳本是一系列的命令和指令。與 HTML 標簽不同,script 命令指示 Web 服務器執行操作,而 Html 標簽只是簡單地格式化文本或讀取圖形、視頻及音頻文件。Script 命令可以在變量中存儲用戶名,在返回到浏覽器的頁中顯示用戶名或將用戶名存儲在數據庫中。
腳本命令通過定界符與文本區別開來。定界符是字符或一串字符,它標志單元開始或結束。HTML 使用定界符——小於號(<)和大於號(>)括入 Html 標簽。
ASP 使用定界符 <% 和 %> 括入腳本命令。您可以在定界符中括入任何命令,只要這些命令對正在使用的腳本語言有效。下面的例子展示了包含腳本命令的簡單的 Html 頁:
<Html>
<BODY>
This page was last refreshed on <%= Now %>.
</BODY>
</Html>
VBScript 函數 Now 返回當前的日期和時間。Web 服務器處理該頁時,會使用當前的日期和時間替換 <%= Now %> 並且將該頁返回到浏覽器:
This page was last refreshed on 8/1/97 2:20:00 PM.
定界符括入的命令被稱為主腳本命令。這些命令被主腳本語言處理。在腳本定界符中使用的任何命令都必須對主腳本語言有效。默認情況下,主腳本語言是 VBScript。要設置另一種語言。
如果您已經熟悉了客戶端腳本編寫(編寫在浏覽器上運行的腳本),請注意不要用 Html <SCRIPT> 元素括入表達式。在編寫服務器端腳本時,只用 <SCRIPT> 元素在主腳本語言外的其他語言中定義過程。
合成 Html 和腳本命令
在 ASP 定界符中可以包含任何在主腳本語言中合法的語句、表達式、過程或操作符。在 VBScript 和其他腳本語言中,語句是語法完整的單元,該單元表達某項活動、聲明或定義。下面的條件語句 If...Then...Else 是一條常見的 VBScript 語句。
<%
If Time >= #12:00:00 AM# And Time < #12:00:00 PM# Then
Greeting = "Good Morning!"
Else
Greeting = "Hello!"
End If
%>
<%= Greeting %>
這條語句將值 "Good Morning!" 或值 "Hello!" 存儲在變量 greeting 中。<%= Greeting %> 命令將當前的變量值發送到浏覽器中。
這樣,在(Web 服務器所在時區的)正午 12 點前浏覽該腳本的用戶將看到:
Good Morning!
在正午 12 點或以後浏覽此腳本的用戶將看到:
Hello!
在語句的不同部分之間可以加入 HTML 文本。例如,下面的腳本在If...Then...Else 語句中加入了 Html,產生了與上面腳本同樣的結果:
<% If Time >= #12:00:00 AM# And Time < #12:00:00 PM# Then %>
Good Morning!
<% Else %>
Hello!
<% End If %>
如果條件為真——也就是說,如果時間為午夜、午夜以後或者中午以前,那麼 Web 服務器將跟隨條件(“Good Morning”)的 HTML 發送到浏覽器;否則,將跟隨 Else 的 HTML(“Hello”)發送到浏覽器。這種混合 HTML 和腳本命令的方式可以方便地將 If...Then...Else 語句變換為幾行 Html 文本。如果要在 Web 頁上顯示多處問候,前一個例子更為有用。只需要設置一次變量,就可以重復顯示。
最好從腳本命令中將 HTML 文本返回到浏覽器,而不用腳本命令散布 Html 文本。要將文本返回到浏覽器,請使用 ASP 的內建對象 Response。下面的例子可以產生與前一個腳本同樣的結果:
<%
If Time >= #12:00:00 AM# And Time < #12:00:00 PM# Then
Response.Write "Good Morning!"
Else
Response.Write "Hello!"
End If
%>
Response.Write 將跟隨的文本發送到浏覽器。要動態構造返回浏覽器的文本,請在語句中使用 Response.Write。例如,可能要構造包含一些變量值的字符串。 現在,先了解將腳本命令插入到 Html 頁中的幾種方法。
在 ASP 定界符中可以包含用默認主腳本語言編寫的過程。
如果正在使用 JScript 命令,可以插入花括號指示語句塊直接進入 ASP 命令,而不用考慮它是否夾雜著 Html 標簽和文本。例如:
<% if (screenresolution == "low") { %>
This is the text version of a page.
<% } else { %>
This is the multimedia version of a page.
<% } %>
使用 ASP 指令
ASP 提供了您使用的腳本語言以外的指令。這是一些輸出指令和處理指令。
ASP 的輸出指 <%= exPRession %> 顯示表達式的值。這個輸出指令等同於使用 Response.Write 顯示信息。例如,輸出表達式 <%= sport %> 將文字 climbing(變量當前的值)傳送到浏覽器。
ASP 處理指令 <%@ keyWord %> 為 ASP 提供處理 .ASP 文件所需的信息。例如,下面的指令將 VBScript 設為該頁的主腳本語言:
<%@ LANGUAGE=VBScript %>
處理指令必須出現在 .ASP 文件的第一行。不要將處理指令放在包含 #include 語句的文件中。必須在 at 標記(@)和關鍵字之間加入一個空格。處理指令有下列關鍵字:
LANGUAGE 關鍵字設置頁的腳本語言。
CODEPAGE 關鍵字設置頁的代碼頁(字符編碼)。
LCID 關鍵字設置頁的現場標識符。
TRANSACTION 關鍵字指定將在事務處理環境下運行的頁。
ENABLEsessionSTATE 關鍵字指定 ASP 頁是否使用會話狀態。
可以在單個指令中包含多個關鍵字;關鍵字/值對之間必須由空格分開。不要在等號(=)左右加入空格。下面的例子中設置了腳本語言和代碼頁:
<%@ LANGUAGE=JScript CODEPAGE=932 %>
在腳本中的空白字符
如果您的主腳本語言是 VBScript 或者 JScript,ASP 從指令中刪除空白字符。使用其他腳本語言時,ASP 保留空白字符,這樣那些需要使用位置和縮進的語言,如 Python 就可以被正確解釋了。空白字符包括空格、制表符、回車和換行符。
使用 VBScript 和 JScript 時,在打開定界符之後和關閉定界符之前使用空白字符更容易閱讀命令。下面的命令都是合法的:
<% Color = "Green" %>
<%Color="Green"%>
<%
Color = "Green"
%>
ASP 將一個語句的關閉定界符與下一個語句的打開定界符之間的空白字符刪除。要保留兩個語句間的空白字符,比如在句子中顯示變量值的時候,請使用 Html 不間斷空符( )。例如:
<%
'Define two variables with string values.
Hello = "Hello"
World = "World"
%>
<P>My response is to say "<%= Hello %> <%= World %>." </P>