调用 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,即可测试该实例。
