日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

asp教程七:包含文件

發(fā)布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp教程七:包含文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SSI 指令為用戶提供在 Web 服務(wù)器處理之前將一個文件的內(nèi)容插入到另一個文件的方法。ASP 只使用這一機制的 #include 指令。要在 .asp 文件中插入一個文件,使用下面的語法:

<!--#include virtual | file ="filename"-->

virtual 和 file 關(guān)鍵字指示用來包含該文件的路徑的類型,filename 是您想包含的文件的路徑和名稱。

被包含文件不要求專門的文件擴展名;但是,為被包含文件賦予 .inc 擴展名以便和其他類型文件相區(qū)分是一個良好的編程習(xí)慣。

使用 Virtual 關(guān)鍵字

使用 Virtual 關(guān)鍵字指出路徑開始于虛擬目錄。例如,如果一個被命名為 Footer.inc 的文件屬于一個名為 /Myapp 的虛擬目錄,則下面的一行將把 Footer.inc 的內(nèi)容插入到包含該行的文件中:

<!--#include virtual ="/myapp/footer.inc"-->

使用 File 關(guān)鍵字

使用 file 關(guān)鍵字指示使用相對路徑。相對路徑開始于含有該包含文件的目錄。例如,如果您的文件位于目錄 Myapp 中,而文件 Header1.inc 在 Myapp\Headers 中,下面的一行將把 Header1.inc 插入到您的文件中:

<!--#include file ="headers/header1.inc"-->

注意,到被包含文件 Headers/header1.inc 的路徑是相對于包含文件的;如果包含 #include 語句的腳本不在 /Myapp 目錄中,那么該語句將不起作用。

如果在 Internet 服務(wù)管理器中的“啟用上層目錄”選項被選中,則也可以使用 file 關(guān)鍵字和 ../ 語法包含父目錄即上一層目錄中的文件。有關(guān)命令,請參閱 配置 ASP 應(yīng)用程序。

被包含文件的位置

被包含文件可以在您的 Web 站點內(nèi)的某個目錄中,也可以在您的 Web 站點之外。通常,您應(yīng)該使被包含文件位于 Web 站點的目錄中。如果一個被包含文件位于您的 Web 站點內(nèi),則當(dāng)瀏覽器下次請求包含文件時,將顯示對被包含文件的改變。但是,如果被包含文件位于您的 Web 站點之外,直到 ASP 應(yīng)用程序重新啟動或 Web 服務(wù)器重新啟動時,這種改變才能體現(xiàn)出來。ASP 檢測在應(yīng)用程序命名空間中(在應(yīng)用程序的起始目錄下)的任何包含文件的改變。

包含文件:提示和警告

一個被包含文件也可以包含其他的文件。如果 #include 指令沒有導(dǎo)致循環(huán),一個 .asp 文件可以多次包括同一個文件。例如,如果文件 First.asp 包含文件 Second.inc,則 Second.inc 一定不能再包含 First.asp。一個文件也不能包含自身。ASP 檢測此類循環(huán)或嵌套錯誤,并在檢測到時產(chǎn)生一個錯誤消息,同時停止處理被請求的 .asp 文件。

ASP 在執(zhí)行腳本命令之前包含文件。因此,不能用腳本命令去創(chuàng)建被包含文件的名稱。例如,下面的腳本將不能打開 Header1.inc,因為 ASP 會在它分配一個文件名給變量 name 之前先執(zhí)行 #include 指令。

<!-- This script will fail -->

<% name=(header1 & ".inc") %>

<!--#include file="<%= name %>"-->

腳本命令和過程必須完全包含在腳本定界符 <% 和 %> 、HTML 標(biāo)記 <SCRIPT> 和 </SCRIPT> 或 HTML 標(biāo)記 <OBJECT> 和 </OBJECT> 中。也就是說,不能在一個 .asp 包含文件中打開一個腳本定界符,然后在一個被包含的文件中才關(guān)閉該定界符;腳本或腳本命令必須是一個完整的單元。例如,下面的腳本將無法運行:

<!-- This script will fail -->

<%

For i = 1 To n

statements in main file

<!--#include file="header1.inc" -->

Next

%>

下面的腳本將正常運行:

<%

For i = 1 to n

statements in main file

%>

<!--#include file="header1.inc" -->

<% Next %>

--------------------------------------------------------------------------------

使用 HTML 表格

使用 ASP Request 對象,您可以創(chuàng)建一個簡單而功能強大的腳本來收集和處理 HTML 表格數(shù)據(jù)。在本主題中,您將不僅學(xué)會如何創(chuàng)建基本的表格處理腳本,而且還將獲得用于驗證 Web 服務(wù)器和用戶瀏覽器上的表格信息的一些有用技術(shù)。

關(guān)于 HTML 表格

HTML 表格是收集 Web 信息最常用的方法,是在 Web 頁上提供用戶界面控件的特殊的 HTML 標(biāo)記的排列。文本框、按鈕和復(fù)選框都是典型的控件,這些控件使用戶和 Web 頁實現(xiàn)交互,并且將信息提交給 Web 服務(wù)器。

下面的 HTML 示例產(chǎn)生一個表格,在表格中,用戶可以輸入姓名、年齡并包含一個將這些信息提交給 Web 服務(wù)器的按鈕。該表格也包含了一個隱含的控件(Web 瀏覽器不顯示),可以用該控件向 Web 瀏覽器傳遞附加信息。

<FORM METHOD="POST" ACTION="myfile.asp">

<INPUT TYPE="text" NAME="firstname">

<INPUT TYPE="text" NAME="lastname">

<INPUT TYPE="text" NAME="age">

<INPUT TYPE="hidden" NAME="userstatus" VALUE= "new">

<INPUT TYPE="submit" VALUE="Enter">

</FORM>

處理 ASP 輸入的表格

在表格向 Web 服務(wù)器提交信息時,用戶的 Web 瀏覽器請求用 HTML <FORM > 標(biāo)記的 ACTION 屬性所指定的 .asp 文件(在前面的例子中,該文件被稱為 Myfile.asp)。.asp 文件包含了處理表格值(如顯示結(jié)果表或從數(shù)據(jù)庫查詢信息)的腳本。

可以通過三種途徑用 .asp 文件收集 HTML 表格的值

靜態(tài)的 .htm 文件可以包含一個將其數(shù)值郵送給 .asp 文件的表格。

.asp 文件可以創(chuàng)建一個將其信息郵送給另一個 .asp 文件的表格。

.asp 文件可以創(chuàng)建一個將其信息郵送給自身的表格,即包含該表格的文件。

前兩個方法的操作方式相同,當(dāng)表格與網(wǎng)關(guān)程序交互時,除 ASP 之外,可以包含讀取和響應(yīng)用戶選擇的命令。

創(chuàng)建一個包含表格定義且傳送信息給自身的 .asp 文件較復(fù)雜,但卻是有很強功能的處理表格的方法。這一過程在 驗證表格輸入 中演示。

獲得表格輸入

ASP Request 對象提供了兩種集合,在很大程度上簡化了檢索附加在 URL 請求上的表格信息的任務(wù)。

QueryString 集合

QueryString 集合獲取作為跟在請求的 URL 的問號后面的文本傳遞給 Web 服務(wù)器的值。通過使用 HTTP GET 方法或手工將表格的值添加到 URL,表格的值可以被附加在請求的 URL 之后。

例如,如果先前的表格示例使用 GET 方法 (ACTION = "GET") 且用戶鍵入 Jeff、Smith 和 30,那么下面的 URL 請求將被發(fā)送給服務(wù)器:

[url]http://scripts/Myfile.asp?firstname=Jeff&lastname=Smith&age=30&userstatus=new[/url]

Myfile.asp 包含下面的表格處理腳本:

Hello, <%= Request.QueryString("firstname") %> <%= Request.QueryString("lastname") %>.

You are <%= Request.QueryString("age") %> years old.

<%

If Request.QueryString("userstatus") = "new user" then

Response.Write"This is your first visit to this Web site!"

End if

%>

在這種情況下,Web 服務(wù)器將返回下面的文本給用戶的 Web 瀏覽器:

Hello, Jeff Smith. You are 30 years old. This is your first visit to this Web site!

QueryString 集合有一個可選參數(shù),可用來訪問顯示在請求正文中的多個值中的一個。也可以使用 Count 屬性計算一個特殊類型的值的出現(xiàn)次數(shù)。

例如,表格包含一個多項目的列表框可以提交下面的請求:

[url]http://list.asp?food=apples&food=olives&food=bread[/url]

您也可以使用下面的命令去對多個值計數(shù):

Request.QueryString("food").Count

如果想顯示多個值的類型,List.asp 應(yīng)包含下面的腳本;

<%Total = Request.QueryString("food").Count%>

<%For i = 1 to Total%>

<%= Request.QueryString("food")(i) %> <BR>

<%Next%>

上述腳本將顯示:

apples

olives

bread

Form 集合

當(dāng)使用 HTTP GET 方法去向 Web 服務(wù)器傳遞長而復(fù)雜的表格值時,將可能丟失信息。大多數(shù)的 Web 服務(wù)器傾向于嚴(yán)格控制 URL 查詢字符串的長度,以便用 GET 方法傳送的冗長的表格值被截斷。如果您需要從表格發(fā)送大量信息到 Web 服務(wù)器,就必須使用 HTTP POST 方法。此法用于在 HTTP 請求正文中發(fā)送表格數(shù)據(jù),而且發(fā)送的字符的個數(shù)可以無限多。也可以使用 ASP Request 對象的 Form 集合檢索用 POST 方法發(fā)送的值。

Form 集合與 QueryString 集合存儲數(shù)值的方式相同。例如,如果用戶用一長串名稱填充表格,您就可以用下面的腳本檢索這些名稱:

<% For i = 1 to Request.Form.Count %>

<% =Request.Form("names")(i) %>

<% Next %>

驗證表格輸入

一個好的表格處理腳本在處理數(shù)據(jù)前,應(yīng)先驗證輸入表格的信息是否有效。驗證腳本可以檢驗用戶輸入到表格的信息類型是否正確。例如,如果您的 Web 站點包含一個表格,該表格允許用戶計算財務(wù)信息,那么在處理結(jié)果之前,需要驗證用戶確實輸入了數(shù)值信息而不是文本。

一個非常方便的驗證表格輸入的方法是創(chuàng)建一個向自身傳遞信息的表格。在這種情況下,.asp 文件包含可獲取信息的表格。例如,下面的腳本通過向自身傳遞信息來驗證用戶是否在 "age" 表格字段中輸入了數(shù)值:

<% If Isnumeric(Request.QueryString("Age")) then %>

<p>Hello, your age is <%=Request.QueryString("age")%>

<%Else %>

<p>Please enter a numerical age.

<%End If %>

<FORM METHOD= "POST" ACTION="verify.asp" >

Name: <INPUT TYPE="text" NAME="Name" >

Age: <INPUT TYPE="text" NAME="Age" >

<INPUT TYPE="submit" VALUE="Enter">

</FORM>

在這個例子中,腳本也在包含表格的同一 Verify.asp 文件中。表格通過在 ACTION 屬性中指定 Verify.asp 向自身傳送信息。

您也可以創(chuàng)建客戶端腳本來檢驗用戶是否輸入了有效的信息。驗證用戶在 Web 瀏覽器上的輸入除了更迅速地向用戶提示表格項錯誤外,還可以減少 Web 服務(wù)器的網(wǎng)絡(luò)流量。下面的腳本運行在用戶的 Web 瀏覽器上,在將信息提交到 Web 服務(wù)器之前,驗證用戶信息。

<SCRIPT LANGUAGE="VBScript">

<!--

Sub btnEnter_OnClick

Dim TheForm

Set TheForm = Document.MyForm

If IsNumeric(TheForm.Age.Value) Then

TheForm.submit

Else

Msgbox "Please enter a numerical age."

End if

End Sub

//-->

</SCRIPT>

<FORM METHOD= "POST" NAME= MyForm ACTION="myfile.asp" >

Name: <INPUT TYPE="text" NAME="Name" >

Age: <INPUT TYPE="text" NAME="Age" >

<INPUT TYPE="button" NAME="btnEnter" VALUE="Enter">

</FORM>















本文轉(zhuǎn)自starger51CTO博客,原文鏈接:?http://blog.51cto.com/starger/17126,如需轉(zhuǎn)載請自行聯(lián)系原作者




總結(jié)

以上是生活随笔為你收集整理的asp教程七:包含文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。