Partager via


Comment : rediriger les utilisateurs vers une autre page

Mise à jour : novembre 2007

Vous souhaiterez parfois rediriger les utilisateurs d'une page Web ASP.NET vers une autre page Web. Vous pouvez par exemple le faire dans le cadre d'un formulaire composé de plusieurs pages.

Il y a plusieurs façons de rediriger des pages, notamment les suivantes :

  • En configurant la page pour effectuer la publication dans une autre page°°°Dans ce scénario, l'utilisateur clique sur un bouton que vous aurez configuré pour effectuer la publication dans une page différente. Ce scénario peut être utile pour créer des formulaires composés de plusieurs pages. Toutefois, il requiert l'interaction de l'utilisateur. Pour plus d'informations, consultez Publication entre pages dans des pages Web ASP.NET.

  • En utilisant le navigateur de façon dynamique   Dans ce scénario, vous envoyez au navigateur de l'utilisateur une commande qui provoque la récupération d'une autre page. Cela vous permet d'effectuer une redirection par programme vers une autre page. Cependant, la redirection provoque une nouvelle demande (un GET HTTP), et toutes les données de publication de la page source sont perdues.

En utilisant dynamiquement une méthode côté serveur   Dans ce scénario, le serveur transfère tout simplement le contexte vers une autre page. L'avantage est que vous pouvez partager entre les pages les informations de contexte de page. L'inconvénient est que le navigateur de l'utilisateur ignore le transfert et, par conséquent, son historique n'est pas à jour. Si l'utilisateur actualise la page, des résultats inattendus peuvent se produire. Pour plus d'informations sur le partage du contexte de page lors d'un transfert serveur, consultez Comment : passer des valeurs entre des pages Web ASP.NET.

Pour rediriger les utilisateurs vers une autre page à l'aide du navigateur

  1. Affectez à la propriété BufferOutput de l'objet Response la valeur true.

  2. Appelez la méthode Redirect de l'objet Response, en lui passant l'URL de la page vers laquelle vous souhaitez rediriger les utilisateurs.

    L'exemple de code suivant montre comment rediriger une page en fonction du contenu d'une variable locale, UserLanguage, définie ailleurs.

    Response.BufferOutput = True
    If UserLanguage = "English" Then
        Response.Redirect("https://www.microsoft.com/gohere/look.htm")
    ElseIf UserLanguage = "Deutsch" Then
        Response.Redirect("https://www.microsoft.com/gohere/look_deu.htm")
    ElseIf UserLanguage = "Español" Then
        Response.Redirect("https://www.microsoft.com/gohere/look_esp.htm")
    End If
    
    Response.BufferOutput = true;
    if (UserLanguage == "English")
    {
        Response.Redirect("https://www.microsoft.com/gohere/look.htm");
    }
    else if (UserLanguage == "Deutsch")
    {
        Response.Redirect("https://www.microsoft.com/gohere/look_deu.htm");
    }
    else if (UserLanguage == "Español")
    {
        Response.Redirect("https://www.microsoft.com/gohere/look_esp.htm");
    }
    

Pour rediriger les utilisateurs vers une autre page à l'aide une méthode côté serveur

  • Appelez la méthode Transfer, en lui passant le nom de la page vers laquelle vous souhaitez rediriger les utilisateurs.

    L'exemple de code suivant montre comment effectuer une redirection vers une autre page.

    Protected Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click
            Server.Transfer("Page2.aspx", True)
    End Sub
    
    protected void Button1_Click(object sender, System.EventArgs e)
    {
       Server.Transfer("Page2.aspx", true);
    }
    

Voir aussi

Tâches

Comment : passer des valeurs entre des pages Web ASP.NET