Server.Transfer方法

Transfer方法把处理一个.asp文件所组装加工过的所有的信息发送到第二个.asp文件。

Transfer(Path)

参数

Path
控制将转移到的asp文件的位置。

返回值

该方法没有返回值

示例代码

下面的示例演示了从一个.asp文件转移到另一个.asp文件,把会话标识符发送到客户端。

来自这些脚本的输出是:

A session ID

I am going to ASP2

The same session ID

--- ASP1 --- 
<HTML><BODY> 
  <% Dim sessvar1  Response.Write Session.SessionID 
  Response.Write ("<BR>") 
  Response.Write("I am going to ASP2 <BR>") 
  Server.Transfer("/Myasps/ASP2.asp") 
  %> 


--- ASP2 --- 
<HTML> 
<BODY><% Response.Write Session.SessionID%> 
</BODY> 
</HTML>

适用于

Server对象

备注

如果你用了Transfer方法,针对所有内建对象的状态信息也包括在传送中。这意味着在session或application中已经赋值的一切变量和对象都会保持下来。另外,Request集合中的所有当前内容,对接受传送的.asp文件都可用。

如果路径参数包含了下例字符之一,Transfer方法将返回ASP 0173错误。

  • 星号(*)
  • 问号(?)
  • 尖括号(< or >)
  • 逗号(,)
  • 冒号或分号 (: or ;)
  • 单引号或双引号(' or ")
  • 右方括号 (])
  • 双斜线(// or \\)

如果你在输入参数中指定的路径是针对另一个应用程序中的一个.asp文件的,就会执行该.asp文件,仿佛它就在包含Server.Transfer命令的应用程序中。换句话说,所有的给定了应用程序作用范围的变量和对象,对被调用的.asp文件都可用,这些变量可以是该应用程序中别的.asp文件给出的,也可以是应用程序的Global.asa文件给出的。然而,path参数一定不能包含一个查询字符串,否则ASP将返回一个错误。

Server.Transfer行为就像一个对Response.Redirect方法的有效替代。Response.Redirect指定了浏览器去请求一个不同的网页。因为一个重定向强迫了一个新的网页请求,浏览器对Web服务器制作了两次请求,因此Web服务器要处理额外的请求。IIS 5.0引入了一个新函数,Server.Transfer,它会把执行传送给服务器上的不同的ASP网页。这避免了额外的请求,总的来说导致更好的系统性能,以及更好的用户体验。

必备条件

Client: Requires Windows XP Professional, Windows 2000 Professional, or Windows NT Workstation 4.0.

Server: Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0.

Product: IIS

如果你喜欢这篇文章,敬请给站长打赏↑

除特别注明外,本站所有文章均为本站站长原译,转载请注明出处。