您目前已離線,請等候您的網際網路重新連線

如何使用 Server.Transfer 方法

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:219294
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。
結論
其中一個新的動態伺服器網頁 (ASP) 功能引入與網際網路資訊服務 (IIS) 5.0 版是 ASP 內建伺服器物件的轉移方法。

這個新的方法是使用 Response.Redirect 方法轉移到另一頁的替代方案,並允許的內建的 ASP 和 Error 物件傳送至第二頁。在另外傳輸會代替強制瀏覽器重新導向至新的網頁伺服器上發生。
其他相關資訊
在呼叫 Server.Transfer 方法時終止第一頁的執行,而且第二個網頁的執行開始。如果第一頁已開始寫入至回應緩衝區,第二頁將附加至取代它的緩衝區。如果緩衝是在 HTTP 標頭可以修改傳輸到 ASP 檔案所。緩衝是關閉的 HTTP 標頭不可以修改傳送到,將 ASP 檔案所除非還透過 ASP 已傳送沒有內容。此外,多個傳輸可以呼叫連續,藉此頁面鏈結在一起。

唯一的資料轉移到第二個 ASP 網頁是內建的 ASP-物件和 ASP 錯誤物件值從第一個要求中。 第一個 ASP 網頁,即可宣告任何變數沒有可用第二個 ASP 網頁中。

即使您轉移至另一個應用程式中的某頁面,應用程式和工作階段物件會包含來自原始應用程式的資訊。 據以,轉移至 ASP 網頁會被視為原始應用程式的一部分。

範例

下列的範例頁面說明 Server.Transfer 方法可能會使用方式。本範例在起始網頁會包含其中一個使用 HTTP POST 方法和其他使用 HTTP GET 方法的兩個表單。兩個網頁使用相同的第二個頁面,偵測到 HTTP 方法,並轉移到不同的第三個網頁使用每個方法。因為正在使用轉移方法,仍然填入要求物件和正確的結果,從第一頁顯示在個別的第三頁上。
  1. 複製下列的 ASP 程式碼,並將它存成"page1.asp"(不含引號):
    <html><body><h3>Step 1 - Form Page</h3><table border="1">   <tr>      <th>POST</th>      <td>         <form action="page2.asp" method="POST">         <input type="text" name="Name">         <input type="submit" value="Submit">         </form>      </td>   <tr>   </tr>      <th>GET</th>      <td>         <form action="page2.asp" method="GET">         <input type="text" name="Name">         <input type="submit" value="Submit">         </form>      </td>   </tr></table></body></html>						
  2. 將下列程式碼儲存為"page2.asp"(不含引號):
    <% @LANGUAGE="VBSCRIPT" %><html><body><h3>Step 2 - Transfer Page</h3><%   Select Case UCase(Request.ServerVariables("REQUEST_METHOD"))      Case "POST"         Server.Transfer "page3a.asp"      Case "GET"         Server.Transfer "page3b.asp"      Case Else         Response.Write "An unknown HTTP verb was used."   End Select%></body></html>						
  3. 將下列程式碼儲存為"page3a.asp"(不含引號):
    <% @LANGUAGE="VBSCRIPT" %><h3>Step 3a - POST Results</h3><p>Hello <% = Request.Form("Name") %></p></body></html>						
  4. 將下列程式碼儲存為"page3b.asp"(不含引號):
    <% @LANGUAGE="VBSCRIPT" %><h3>Step 3b - GET Results</h3><p>Hello <% = Request.QueryString("Name") %></p></body></html>						
附註:最後兩個頁面不是完整的 HTML 頁面。這是因為這兩個頁面附加至第二頁已啟動的回應緩衝區。

若要嘗試此範例將所有的網頁儲存到 Web 資料夾與 「 Script"存取已啟用,並瀏覽"page1.asp]。
iis

警告:本文為自動翻譯

內容

文章識別碼:219294 - 最後檢閱時間:11/21/2006 05:27:07 - 修訂: 2.1

Microsoft Internet Information Services 5.0

  • kbmt kbcodesnippet kbinfo kbscript KB219294 KbMtzh
意見反應
https://c.microsoft.com/ms.js">