Condividi tramite


Procedura: reindirizzare gli utenti a un'altra pagina

Aggiornamento: novembre 2007

È possibile che si desideri reindirizzare gli utenti da una pagina Web ASP.NET a un'altra. Ad esempio, è possibile utilizzare un form a più pagine.

Di seguito vengono riportati alcuni modi per reindirizzare le pagine.

  • Configurare la pagina in modo tale che invii a un'altra   In questo scenario, l'utente fa clic sul pulsante configurato per inviare a un'altra pagina. Questo scenario è utile nei form a più pagine. Tuttavia, è richiesta l'interazione dell'utente. Per informazioni, vedere Cross-page posting nelle pagine Web ASP.NET.

  • Utilizzare in modo dinamico il browser   In questo scenario, si invia un comando al browser che richiede al browser di recuperare un'altra pagina. In questo modo, è possibile effettuare il reindirizzamento a un'altra pagina a livello di programmazione. Tuttavia, il reindirizzamento genera una nuova richiesta di tipo HTTP GET e tutti i dati inviati dalla pagina di origine vengono persi.

Utilizzare in modo dinamico un metodo lato server   In questo scenario, il server trasferisce semplicemente il contesto a un'altra pagina. Il vantaggio consiste nella possibilità di condividere le informazioni di contesto di pagina tra le pagine. Lo svantaggio è che il browser dell'utente è all'oscuro del trasferimento, per cui la cronologia del browser non viene aggiornata. Se l'utente aggiorna la pagina, potrebbero verificarsi errori. Per informazioni dettagliate sulla condivisione del contesto della pagina durante un trasferimento server, vedere Procedura: passare valori tra pagine Web ASP.NET.

Per reindirizzare l'utente a un'altra pagina utilizzando il browser

  1. Impostare la proprietà BufferOutput dell'oggetto Response su true.

  2. Chiamare il metodo Redirect dell'oggetto Response passandogli l'URL della pagina a cui reindirizzare gli utenti.

    Nell'esempio di codice riportato di seguito viene illustrata la procedura di reindirizzamento a una pagina in base al contenuto di una variabile locale, UserLanguage, impostata in un altro punto.

    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");
    }
    

Per reindirizzare gli utenti a un'altra pagina utilizzando un metodo lato server

  • Chiamare il metodo Transfer, passandogli il nome della pagina a cui reindirizzare gli utenti.

    Nell'esempio di codice riportato di seguito viene illustrata la procedura di reindirizzamento a un'altra pagina.

    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);
    }
    

Vedere anche

Attività

Procedura: passare valori tra pagine Web ASP.NET