调用 Server.Transfer 方法,立即终止执行第一页并且开始执行第二页。
如果第一页开始写入响应缓冲区, 第二页追加内容到缓冲区而不是替换它。
如果缓冲是打开, 该方法将修改 HTTP 头,除非尚没有内容已被发送.如果 ASP 缓冲关闭, HTTP 头将不修改.
当传输到其他应用程序, 起始页 Application 和 Session 对象将包含应用程序信息中。
示例 下列示例页阐释如何使用 Server.Transfer 方法。 1.
<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 页。 这是因为两页都追加到到第二页缓冲区上。
浏览page1.asp,即可测试该实例。
|