Active Server Pages(asp)文件是以 .asp 為擴展名的文本文件,這個文本文件可以包括下列部分的任意組合:
文本 HTML 標記 ASP 腳本命令 創(chuàng)建 .asp 文件非常容易。如果要在 HTML 文件中添加腳本,只需將該文件的擴展名 .htm 或 .html 替換為 .asp 就可以了。要使 .asp 文件可用于 Web 用戶,請將這個新文件保存在 Web 站點上的目錄中(請確定啟用了該目錄的腳本和執(zhí)行權(quán)限)。使用瀏覽器查看該文件時,可以看到 ASP 處理并返回了 HTML 頁。現(xiàn)在可以在 .asp 文件中添加腳本命令了。
注意 因為 .asp 文件需要額外的處理,請不要將所有的 HTML 頁都轉(zhuǎn)換為 ASP 頁。應(yīng)該只將包含腳本命令的文件轉(zhuǎn)換為 .asp 文件。.asp 和 .htm 文件可以放置在相同的目錄中。
使用任何的文本編輯器都可以創(chuàng)建 .asp 文件。使用那些帶有 ASP 增強支持的編輯器將更能提高效率,如 Microsoft® Visual InterDev™ 。如果您從未使用過 HTML,請考慮先使用 Microsoft FrontPage 。使用 FrontPage 創(chuàng)建文檔和格式化文本就象使用文字處理工具一樣簡單。接下來還可以使用 Insert Script 命令在 FrontPage 創(chuàng)建的 HTML 頁中加入簡單的 ASP 命令。
加入 Script 命令 腳本是一系列的命令和指令。與 HTML 標簽不同,script 命令指示 Web 服務(wù)器執(zhí)行操作,而 HTML 標簽只是簡單地格式化文本或讀取圖形、視頻及音頻文件。Script 命令可以在變量中存儲用戶名,在返回到瀏覽器的頁中顯示用戶名或?qū)⒂脩裘鎯υ?a href="http://www.survivalescaperooms.com/sql.asp">數(shù)據(jù)庫中。
腳本命令通過定界符與文本區(qū)別開來。定界符是字符或一串字符,它標志單元開始或結(jié)束。HTML 使用定界符——小于號(<)和大于號(>)括入 HTML 標簽。
ASP 使用定界符 <% 和 %> 括入腳本命令。您可以在定界符中括入任何命令,只要這些命令對正在使用的腳本語言有效。下面的例子展示了包含腳本命令的簡單的 HTML 頁:
<HTML> <BODY> This page was last refreshed on <%= Now %>. </BODY> </HTML> VBScript 函數(shù) Now 返回當前的日期和時間。Web 服務(wù)器處理該頁時,會使用當前的日期和時間替換 <%= Now %> 并且將該頁返回到瀏覽器:
This page was last refreshed on 8/1/97 2:20:00 PM. 定界符括入的命令被稱為主腳本命令。這些命令被主腳本語言處理。在腳本定界符中使用的任何命令都必須對主腳本語言有效。默認情況下,主腳本語言是 VBScript。要設(shè)置另一種語言。
如果您已經(jīng)熟悉了客戶端腳本編寫(編寫在瀏覽器上運行的腳本),請注意不要用 HTML <SCRIPT> 元素括入表達式。在編寫服務(wù)器端腳本時,只用 <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 %>
Hello! 在語句的不同部分之間可以加入 HTML 文本。例如,下面的腳本在If...Then...Else 語句中加入了 HTML,產(chǎn)生了與上面腳本同樣的結(jié)果:
<% If Time >= #12:00:00 AM# And Time < #12:00:00 PM# Then %> Good Morning! <% Else %> Hello! <% End If %> 如果條件為真——也就是說,如果時間為午夜、午夜以后或者中午以前,那么 Web 服務(wù)器將跟隨條件(“Good Morning”)的 HTML 發(fā)送到瀏覽器;否則,將跟隨 Else 的 HTML(“Hello”)發(fā)送到瀏覽器。這種混合 HTML 和腳本命令的方式可以方便地將 If...Then...Else 語句變換為幾行 HTML 文本。如果要在 Web 頁上顯示多處問候,前一個例子更為有用。只需要設(shè)置一次變量,就可以重復顯示。
最好從腳本命令中將 HTML 文本返回到瀏覽器,而不用腳本命令散布 HTML 文本。要將文本返回到瀏覽器,請使用 ASP 的內(nèi)建對象 Response。下面的例子可以產(chǎn)生與前一個腳本同樣的結(jié)果:
<% 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 將跟隨的文本發(fā)送到瀏覽器。要動態(tài)構(gòu)造返回瀏覽器的文本,請在語句中使用 Response.Write。例如,可能要構(gòu)造包含一些變量值的字符串。 現(xiàn)在,先了解將腳本命令插入到 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 設(shè)為該頁的主腳本語言:
<%@ LANGUAGE=VBScript %> 處理指令必須出現(xiàn)在 .asp 文件的第一行。不要將處理指令放在包含 #include 語句的文件中。必須在 at 標記(@)和關(guān)鍵字之間加入一個空格。處理指令有下列關(guān)鍵字:
LANGUAGE 關(guān)鍵字設(shè)置頁的腳本語言。 CODEPAGE 關(guān)鍵字設(shè)置頁的代碼頁(字符編碼)。 LCID 關(guān)鍵字設(shè)置頁的現(xiàn)場標識符。 TRANSACTION 關(guān)鍵字指定將在事務(wù)處理環(huán)境下運行的頁。 ENABLEsessionSTATE 關(guān)鍵字指定 ASP 頁是否使用會話狀態(tài)。 可以在單個指令中包含多個關(guān)鍵字;關(guān)鍵字/值對之間必須由空格分開。不要在等號(=)左右加入空格。下面的例子中設(shè)置了腳本語言和代碼頁: