Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo HttpResponse.Redirect (String, Boolean)

 

Data di pubblicazione: luglio 2016

Reindirizza un client a un nuovo URL. Specifica il nuovo URL e se l'esecuzione della pagina corrente deve terminare.

Spazio dei nomi:   System.Web
Assembly:  System.Web (in System.Web.dll)

public void Redirect(
	string url,
	bool endResponse
)

Parametri

url
Type: System.String

Posizione della destinazione.

endResponse
Type: System.Boolean

Indica se l'esecuzione della pagina corrente deve terminare.

Exception Condition
ArgumentNullException

url è null.

ArgumentException

url contiene un carattere di nuova riga.

HttpException

Viene tentato un reindirizzamento dopo l'invio delle intestazioni HTTP.

ApplicationException

La richiesta della pagina è il risultato di un callback.

Per il percorso di destinazione è possibile specificare un URL assoluto (ad esempio http://www.contoso.com/default.aspx) o un URL relativo (ad esempio,. aspx), ma alcuni browser potrebbero rifiutare un URL relativo.

Quando si utilizza questo metodo in un gestore di pagina per terminare una richiesta per una pagina e avviare una nuova richiesta per un'altra pagina, impostare endResponse a false e quindi chiamare il CompleteRequest metodo. Se si specifica true per il endResponse parametro, questo metodo chiama il End metodo per la richiesta originale, che genera un ThreadAbortException eccezione quando viene completato. Questa eccezione ha effetti negativi sulle prestazioni dell'applicazione Web, motivo per cui il passaggio di false per il endResponse consiglia di parametro. Per altre informazioni, vedere il metodo End.

System_CAPS_noteNota

Pagine per dispositivi mobili, se l'applicazione si basa su sessioni senza cookie o potrebbe ricevere richieste da dispositivi mobili che richiedono sessioni senza cookie, usando una tilde (~) in un percorso può creare una nuova sessione e perdere i dati della sessione. Per impostare una proprietà in un controllo per dispositivi mobili con un percorso, ad esempio "~ / percorso", risolvere il percorso utilizzando ResolveUrl "~ / percorso" prima di assegnarlo alla proprietà.

ASP.NET esegue il reindirizzamento restituendo un codice di stato HTTP 302. È un modo alternativo per trasferire il controllo a un'altra pagina di Transfer metodo. Il Transfer metodo è in genere più efficiente perché non provoca un round trip al client. Per altre informazioni, vedere How to: Redirect Users to Another Page.

L'esempio seguente usa il IsClientConnected proprietà per verificare se il client che richiede la pagina rimane connesso al server. Se IsClientConnected è true, il codice chiama il Redirect (metodo) e il client visualizzerà un'altra pagina. Se IsClientConnected è false, quindi il codice chiama il End metodo e tutta l'elaborazione di pagina viene interrotto.

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    private void Page_Load(object sender, EventArgs e)
    {
        // Check whether the browser remains
        // connected to the server.
        if (Response.IsClientConnected)
        {
            // If still connected, redirect
            // to another page. 
            Response.Redirect("Page2CS.aspx", false);
        }
        else
        {
            // If the browser is not connected
            // stop all response processing.
            Response.End();
        }
    }

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    </form>
</body>
</html>

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: