Active Server Pages(ASP)文件是以 .asp 爲擴展名的文本文件,這個文本文件能夠包括下列部分的任意組合:html
文本 數據庫
HTML 標記 express
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 標籤。spa
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。例如,可能要構造包含一些變量值的字符串。在 使用組件和對象 以及 向瀏覽器傳送內容 中瞭解到更多有關 Response 對象和通常對象的信息。如今,先了解將腳本命令插入到 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>