#### Execute

The Execute method calls an .asp file and processes it as if it were part of the calling ASP script. The Execute method is similar to a procedure call in many programming languages.

###### Syntax

Server.Execute( Path )

###### Parameters

Path
  A string specifying the location of the .asp file to execute. The Path parameter may be for either an absolute or a relative path. If the Path is absolute, it must map to an ASP script in the same application as the calling .asp file. Path can be a string variable name that is set at run-time. The Path parameter must not contain a query string or IIS returns an error.

###### Remarks

The Server.Execute method provides a way of dividing a complex application into individual modules. By employing the Server.Execute method, you can develop a library of .asp files that you can call as needed. This approach is an alternative to server-side includes. The major difference is that you can dynamically call an .asp file with Server.Execute.

After IIS processes the .asp file specified in the input parameter to Server.Execute, the response is returned to the calling ASP script.

Collections and properties available to the executed .asp page are:

- Application variables, even if they are set in the calling page.
- Session properties, even if they are set in the calling page.
- Server variables and properties, even if they are set in the calling page.
- Request collections and properties, even if they are set in the calling page. This includes Form and QueryString data passed to the calling page.
- Response collections and properties. The executed .asp file may modify HTTP headers. However, as with any .asp file, if the executed .asp file attempts to modify HTTP headers after it sends a response to the client, it will generate an error.

If a file is included in the calling page with #include, the executed .asp will not see it. For example, you may have a subroutine in a file that is included in your calling page, but the executed .asp will not recognize the subroutine name. You must include the file in each executed .asp that requires the subroutine.

If either the calling or called .asp file contains a transaction directive, the status of the transaction will apply to the .asp file that contains the directive. For example, if ASP1 below calls ASP2 and the transaction is aborted while ASP2 is being processed, ASP2's OnTransactionAbort (if present) will be called. After ASP2 completes processing, ASP1's OnTransactionAbort (if present) will be called.

    ASP1:
    <%@ Transaction=Required %>
    <%
      Server.Execute ("ASP2.asp")
      Sub OnTransactionAbort
      Sub OnTransactionCommit
    %>

    ASP2.asp:
    <%@ Transaction=Required %>
    <%
      Sub OnTransactionAbort
      Sub OnTransactionCommit
    %>

###### Example

In the following example, the browser language determines which .asp file is executed. The output from these scripts on a US system is:

Company Name

Welcome to my website!

The output from these scripts on a German system is:

Company Name

Willkommen zu meinem website!

The output from these scripts on a Spanish system is:

Company Name

Recepción a mi website!

(Languages with multi-byte characters have not been included in this example because CodePage incompatibilities.)

Welcome.asp

    <HTML>
    <BODY>
    <H1>Company Name</H1>
    <%
      AcceptLang = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
      Lang = Left(AcceptLang, 2)
      Server.Execute(Lang & "Welcome.asp")
    %>
    </BODY>
    </HTML>

enWelcome.asp

    <% Response.Write "Welcome to my website!" %>

deWelcome.asp

    <% Response.Write "Willkommen zu meinem website!" %>

esWelcome.asp

    <% Response.Write "Recepción a mi website!" %>

###### Applies to

Server Object

###### See Also

Transfer, OnTransactionAbort, OnTransactionCommit

© 1997-2001 Microsoft Corporation. All rights reserved.