Comment faire pour utiliser la méthode Server.Transfer

Traductions disponibles Traductions disponibles
Numéro d'article: 219294 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Une des nouvelles fonctionnalités de ASP (Active Server Page) introduites avec les Services Internet (IIS) version 5.0 est une méthode de transfert de l'objet de serveur ASP intégré.

Cette nouvelle méthode est une alternative à l'utilisation de la méthode Response.Redirect pour transférer vers une autre page et permet le transfert des objets d'erreur et ASP intégré à une deuxième page. En outre, le transfert a lieu sur le serveur au lieu de forcer le navigateur pour rediriger vers une nouvelle page.

Plus d'informations

Lorsque la méthode Server.Transfer est appelée, l'exécution de la première page est terminée et l'exécution de la deuxième page commence. Si la première page a commencé à écrire dans le tampon de réponse, la deuxième page ajoute à la mémoire tampon au lieu de la remplacer. Si le mécanisme de tampon est activé, puis les en-têtes HTTP sont modifiables par le fichier ASP qui elle est transférée vers. Si la mise en mémoire tampon est désactivée, les en-têtes HTTP ne sont modifiables par le fichier ASP transférées, pas, sauf si aucun contenu n'a été envoyé par ASP encore. En outre, plusieurs transferts peuvent être appelées successivement, en chaînant entre eux les pages.

Les seules données transférées vers une deuxième page ASP sont l'ASP intégré - dans les objets et les valeurs d'objet erreur ASP à partir de la première demande. Toutes les variables déclarées par la première page ASP ne sont pas disponibles dans la deuxième page ASP.

Lorsque vous transférez vers une page dans une autre application, les objets application et session contient les informations à partir de l'application d'origine. En conséquence, la page ASP à laquelle il est transféré vers est traitée comme faisant partie de l'application d'origine.

Exemple

Les pages d'exemple suivantes illustrent comment la méthode Server.Transfer peut être utilisée. Dans cet exemple, la page de départ contient deux formulaires, un à l'aide de la méthode HTTP POST et l'autre à l'aide de la méthode HTTP GET. Les deux pages utilisent la même page deuxième qui détecte la méthode HTTP et les transfèrent à une autre page tiers pour chaque méthode utilisée. Car la méthode de transfert est utilisée, l'objet demande est toujours remplie et les résultats corrects de la première page sont affichés dans la troisième page respectif.
  1. Copiez le code ASP suivant et enregistrez-le en tant que «page1.asp"(sans les guillemets):
    <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. Enregistrez le code suivant en tant que «page2.asp"(sans les guillemets):
    <% @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. Enregistrez le code suivant en tant que «page3a.asp"(sans les guillemets):
    <% @LANGUAGE="VBSCRIPT" %>
    <h3>Step 3a - POST Results</h3>
    <p>Hello <% = Request.Form("Name") %></p>
    </body>
    </html>
    						
  4. Enregistrez le code suivant en tant que «page3b.asp"(sans les guillemets):
    <% @LANGUAGE="VBSCRIPT" %>
    <h3>Step 3b - GET Results</h3>
    <p>Hello <% = Request.QueryString("Name") %></p>
    </body>
    </html>
    						
Remarque : Les deux dernières pages ne sont pas pages HTML complets. Cela est dû au fait que les deux pages ajoutez à la mémoire tampon de réponse qui a été démarré sur la deuxième page.

Pour essayer cet exemple, enregistrez toutes les pages dans un dossier Web avec «Script» accès activé et recherchez «page1.asp.»

Propriétés

Numéro d'article: 219294 - Dernière mise à jour: mardi 21 novembre 2006 - Version: 2.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Internet Information Services 5.0
Mots-clés : 
kbmt kbcodesnippet kbinfo kbscript KB219294 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 219294
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com