|
dernière mise à jour le 27/08/2006
|
Méthode Response.Redirect
Synopsis
Response.Redirect(URL)
Cette méthode sert à rediriger un client vers une autre ressource. Par exemple, on va utiliser cette méthode
pour orienter un navigateur vers telle ou telle autre page, en fonction d'un identifiant précisé par l'utilisateur. Une fois
cette méthode appelée, l'exécution du script ASP est interrompue.
Cette méthode envoie une directive HTTP spécial (Location:) dans l'en-tête de la réponse. Aussi,
on ne peut utiliser cette méthode que si les en-têtes n'ont pas encore été envoyés au client.
Concrètement, on ne peut pas utiliser Request.Redirect, dès lors qu'une balise HTML a été envoyée.
On peut contrôler ce dernier comportement grâce au buffer de sortie et la méthode Response.Clear
(voir exemple ci-dessous).
URL est obligatoire ; c'est l'URL de la ressource sur laquelle on veut rediriger le client.
Exemple
Dans l'exemple suivant, on va tester la valeur d'un login envoyé au serveur. Si ce login vaut "toto", on affiche un message, sinon,
on redirige vers le fichier initial en précisant un message d'erreur :
formulaire.asp :
...
<%
If Request.QueryString("erreur") <> "" Then
Response.Write("<P>mauvais login</P>")
End If
%>
<FORM action="test.asp" method="GET">
<INPUT type="text" name="login">
<INPUT type="submit" value="envoyer">
</FORM>
...
test.asp :
<%
' On active l'utilisation du tampon de sortie
Response.Buffer = True
%>
<HTML>
<BODY>
<%
If Request.QueryString("login") = "toto" Then
Response.Write("Bravo !!")
Else
' On veut renvoyer vers formulaire.asp. Comme du code HTML a deja
' ete ecrit, on doit vider le tampon avant d'appeler Redirect
Response.Clear
Response.Redirect("formulaire.asp?erreur=vrai")
End If
%>
</BODY>
</HTML>
format imprimable
|