Share via


Server.Transfer

The Transfer method sends all of the information that has been assembled for processing by one .asp file to a second .asp file.

Syntax

Server.Transfer(path)

Parameters
  • Path
    The location of the .asp file to which control should be transferred.
Remarks

When you use the Transfer method, the state information for all the built-in objects are included in the transfer. This means that any variables or objects that have been assigned a value in session or application scope are maintained. In addition, all of the current contents for the Request collections are available to the .asp file that is receiving the transfer.

If the path you specify in the input parameter is for an .asp file in another application, the .asp file executes as if it were in the application that contains the Server.Transfer command. In other words, all variables and objects that have been given application scope either by other .asp files in the application or by the application's Global.asa file are available to the called .asp file. However, the path parameter must not contain a query string, or ASP returns an error.

Server.Transfer acts as an efficient replacement for the Response.Redirect method. Response.Redirect specifies to the browser to request a different page. Because a redirect forces a new page request, the browser makes two requests to the Web server, so the Web server handles an extra request. IIS 5.0 introduced a new function, Server.Transfer, which transfers execution to a different ASP page on the server. This avoids the extra request, resulting in better overall system performance, as well as a better user experience.

Example

The following example demonstrates transferring from one .asp file to another, as well as sending the session identifier to the client.

The output from these scripts is:

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>
Applies To

Server Object