如何從一個網頁傳遞表單資料到另一個使用 GET 和 POST 中動態伺服器網頁

文章翻譯 文章翻譯
文章編號: 300104 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

其中一個動態伺服器網頁 (ASP) Web 開發中最常執行的動作將資料從一個網頁傳遞給另一個用於處理。本文包含逐步範例來示範如何執行這項操作。涉及兩個技巧: 一個使用 POST] 方法,並另使用 GET 方法。雖然個更深一層的層級的關於您可能會考慮這些方法的複雜性但本文只會說明如何套用這些想法。

注意: 在這些範例僅第二個中的每個序列網頁必須.asp 網頁,因為這些頁面實際上包含示範的伺服器端程式碼。初始頁面可以是.htm 或.asp 網頁。

使用 POST 方法

當您使用 POST 方法時,您 HTML 控制項的值將表單中傳送至動作屬性中指定的頁面。要這麼做,請您執行下列步驟:
  1. 建立新的.htm 網頁,並命名 Gatherdata_post.htm。要 Visual InterDev 6.0 版中執行這項操作,以滑鼠右鍵按一下專案節點,在 [專案總管] 中,按一下 [新增]、 按一下 [HTML 頁面、 輸入 Gatherdata_post.htm 做為該頁面的名稱,然後再按一下 [開啟舊檔]。
  2. 將下列程式碼貼入新的網頁中: 注意: 您應該清除 InterDev 新增在網頁中貼上這段程式碼之前,先一開始建立頁面時的預設程式碼。 否則,您將需要多餘的標籤。
    <html>
    <head>
    </head>
    <body>
    <FORM action="RetrieveData_Post.asp" id=form1 method=post name=form1>
    	First Name:
    	<br>
    	<INPUT id="txtFirstName" name="txtFirstName" >
    	<br>
    	Last Name:
    	<br>
    	<INPUT id="txtLastName" name="txtLastName" >
    	<br>
    	<INPUT type="submit" value="Submit"> 
    </FORM>
    </body>
    </html>
    					
  3. 儲存網頁。如果要執行這項操作,按一下 [Visual InterDev IDE 中的 [檔案] 功能表上的 [另存 Gatherdata_post.htm]。
  4. 建立名為 Retrievedata_post.asp 的另一個網頁。下列程式碼貼在頁面中,並儲存網頁:
    <%@ Language=VBScript %>
    <html>
    <head>
    </head>
    <body>
    <%
    Response.Write("First Name: " & Request.Form("txtFirstName") & "<br>")
    Response.Write("Last Name: " & Request.Form("txtLastName") & "<br>")
    %>
    </body>
    </html>
    
    					
  5. 藉由在網頁上按一下滑鼠右鍵,再選取 [在瀏覽器中的檢視 執行 Gatherdata_post.htm。輸入名字和姓氏] 名稱的某些值,然後按一下 [送出。 請注意在 Getdata_post.htm 中所輸入的資料已傳送透過 HTTP POST 至 Retrievedata_post.asp 網頁供擷取使用 Request.Form 集合。

使用 GET 方法

當您使用 GET 方法時,您 HTML 控制項的值將表單中傳送至以類似於 POST 方法,先前說明的方式的 [動作] 屬性中指定的頁面。但是,您會注意到這些值會在 QueryString 中傳送。考慮使用 GET 而非 POST 的一個主要問題是值會顯示在 [URL。

若要使用 GET 方法,請依照下列步驟執行:
  1. 建立新的.htm 網頁,並命名 Gatherdata_get.htm。要 Visual InterDev 6.0 版中執行這項操作,以滑鼠右鍵按一下專案節點,在 [專案總管] 中,按一下 [新增]、 按一下 [HTML 頁面、 輸入 Gatherdata_get.htm 做為該頁面的名稱,然後再按一下 [開啟舊檔]。
  2. 將下列程式碼貼入新的網頁中: 注意: 您應該清除 InterDev 新增在網頁中貼上這段程式碼之前,先一開始建立頁面時的預設程式碼。 否則,您將需要多餘的標籤。
    <html>
    <head>
    </head>
    <body>
    <FORM action="RetrieveData_Get.asp" id=form1 method=GET name=form1>
    	First Name:
    	<br>
    	<INPUT id="txtFirstName" name="txtFirstName" >
    	<br>
    	Last Name:
    	<br>
    	<INPUT id="txtLastName" name="txtLastName" >
    	<br>
    	<INPUT type="submit" value="Submit" id=submit1 name=submit1> 
    </FORM>
    </body>
    </html>
    					
  3. 儲存網頁。如果要執行這項操作,按一下 [Visual InterDev IDE 中的 [檔案] 功能表上的 [另存 Gatherdata_get.htm]。
  4. 建立名為 Retrievedata_get.asp 的另一個網頁。下列程式碼貼在頁面中,並儲存網頁:
    <%@ Language=VBScript %>
    <html>
    <head>
    </head>
    <body>
    <%
    Response.Write("First Name: " & Request.QueryString("txtFirstName") & "<br>")
    Response.Write("Last Name: " & Request.QueryString("txtLastName") & "<br>")
    %>
    </body>
    </html>
    					
  5. 藉由在網頁上按一下滑鼠右鍵,再選取 [在瀏覽器中的檢視 執行 Gatherdata_get.htm。輸入名字和姓氏] 名稱的某些值,然後按一下 [送出。 請注意,輸入 Getdata_get.htm 中的資料會傳透過 GET 給 Retrievedata_get.asp 網頁進行擷取使用 Request.QueryString 集合。您已經瞭解 QueryString 集合會是其中使用 GET 做動作為傳送頁面和 表單 集合用來擷取資料,當您實作 POST 時您的資料由可擷取的 ASP 網頁。

?考

如需詳細資訊按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
254742IIS: 使用泛型集合的 HTTP 表單資料的 ASP 剖析
208427資訊: 最大 URL 長度是在 Internet Explorer 中的 2,083 字元
254786PRB: 查詢字串被截斷

屬性

文章編號: 300104 - 上次校閱: 2004年7月1日 - 版次: 1.1
這篇文章中的資訊適用於:
  • Microsoft Active Server Pages 4.0
關鍵字:?
kbmt kbaspobj kbcodesnippet kbhowto kbhowtomaster kbsample kbscript KB300104 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:300104
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com