HttpResponse.Redirect Methode

Definition

Leitet einen Client zu einer neuen URL um.

Überlädt

Redirect(String)

Leitet eine Anforderung an eine neue URL um und gibt die neue URL an.

Redirect(String, Boolean)

Leitet einen Client zu einer neuen URL um. Gibt die neue URL an und meldet, ob die Ausführung der aktuellen Seite beendet werden soll.

Redirect(String)

Leitet eine Anforderung an eine neue URL um und gibt die neue URL an.

public:
 void Redirect(System::String ^ url);
public void Redirect (string url);
member this.Redirect : string -> unit
Public Sub Redirect (url As String)

Parameter

url
String

Der Zielort. Dies kann ein zur Anwendung relativer virtueller Pfad sein.

Ausnahmen

Nach dem Senden der HTTP-Header wird eine Umleitung versucht.

Beispiele

Im folgenden Beispiel wird eine bedingungslose Umleitung auf eine andere Website erzwungen.

Response.Redirect("http://www.microsoft.com/gohere/look.htm");

Response.Redirect("http://www.microsoft.com/gohere/look.htm")
   

Hinweise

Der Aufruf entspricht dem Aufrufen Redirect Redirect mit dem zweiten Parametersatz auf true.

Redirect Aufrufe End , die eine ThreadAbortException Ausnahme nach Abschluss auslösen. Diese Ausnahme wirkt sich negativ auf die Webanwendungsleistung aus. Daher wird empfohlen, anstelle dieser Überladung die Überladung zu verwenden und für den endResponse Parameter übergeben false zu werden, und rufen Sie dann die HttpResponse.Redirect(String, Boolean) CompleteRequest Methode auf. Weitere Informationen finden Sie unter der Methode End.

Hinweis

Nur für mobile Seiten, wenn Ihre Anwendung auf cookielose Sitzungen basiert oder Anforderungen von mobilen Geräten erhalten, die cookielose Sitzungen erfordern, mithilfe einer Tilde (~) in einem Pfad kann das Erstellen einer neuen Sitzung und potenziell verlustige Sitzungsdaten führen. Um eine Eigenschaft für ein mobiles Steuerelement mit einem Pfad wie "/path" festzulegen, lösen Sie den Pfad mithilfe ResolveUrl von "~~/path" auf, bevor sie der Eigenschaft zugewiesen wird.

ASP.NET führt die Umleitung durch Zurückgeben eines HTTP-Statuscodes von 302 aus. Eine alternative Möglichkeit zum Übertragen von Steuerelementen in eine andere Seite ist die Transfer Methode. Die Transfer Methode ist in der Regel effizienter, da es keine Rundreise zum Client verursacht. Weitere Informationen finden Sie unter "Vorgehensweise: Umleiten von Benutzern zu einer anderen Seite".

Gilt für

Redirect(String, Boolean)

Leitet einen Client zu einer neuen URL um. Gibt die neue URL an und meldet, ob die Ausführung der aktuellen Seite beendet werden soll.

public:
 void Redirect(System::String ^ url, bool endResponse);
public void Redirect (string url, bool endResponse);
member this.Redirect : string * bool -> unit
Public Sub Redirect (url As String, endResponse As Boolean)

Parameter

url
String

Der Zielspeicherort.

endResponse
Boolean

Gibt an, ob die Ausführung der aktuellen Seite beendet werden soll.

Ausnahmen

url ist null.

url enthält ein Zeilenumbruchzeichen.

Nach dem Senden der HTTP-Header wird eine Umleitung versucht.

Die Seitenanforderung ist das Ergebnis eines Rückrufs.

Beispiele

Im folgenden Beispiel wird die Eigenschaft verwendet, um zu überprüfen, ob der Client, der die IsClientConnected Seite anfordert, mit dem Server verbunden bleibt. Wenn IsClientConnected true ist, ruft der Code die Redirect Methode auf, und der Client wird eine andere Seite anzeigen. Wenn IsClientConnected "false" ist, ruft der Code die End Methode auf, und die gesamte Seitenverarbeitung wird beendet.

<%@ 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>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    Private Sub Page_Load(sender As Object, e As EventArgs)

        ' Check whether the browser remains
        ' connected to the server.
        If (Response.IsClientConnected) Then

            ' If still connected, redirect
            ' to another page.             
            Response.Redirect("Page2VB.aspx", false)
        Else
            ' If the browser is not connected
            ' stop all response processing.
            Response.End()
        End If
    End Sub
</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>

Hinweise

Eine absolute URL (z. B. ) oder eine relative URL (z http://www.contoso.com/default.aspx. B. Default.aspx) kann für den Zielspeicherort angegeben werden, aber einige Browser können eine relative URL ablehnen.

Wenn Sie diese Methode in einem Seitenhandler verwenden, um eine Anforderung für eine Seite zu beenden und eine neue Anforderung für eine andere Seite zu starten, legen endResponse false Sie die Methode fest, und rufen Sie die CompleteRequest Methode auf. Wenn Sie den Parameter angebentrue, ruft diese Methode die End Methode für die endResponse ursprüngliche Anforderung auf, die eine ThreadAbortException Ausnahme auslöst, wenn sie abgeschlossen ist. Diese Ausnahme wirkt sich negativ auf die Webanwendungsleistung aus, weshalb die Übergabe false für den endResponse Parameter empfohlen wird. Weitere Informationen finden Sie unter der Methode End.

Hinweis

Für mobile Seiten, wenn Ihre Anwendung auf cookielose Sitzungen basiert oder Anforderungen von mobilen Geräten erhalten, die cookielose Sitzungen erfordern, mithilfe einer Tilde (~) in einem Pfad kann eine neue Sitzung erstellen und möglicherweise Sitzungsdaten verlieren. Um eine Eigenschaft für ein mobiles Steuerelement mit einem Pfad wie "/path" festzulegen, lösen Sie den Pfad mithilfe ResolveUrl von "~~/path" auf, bevor sie der Eigenschaft zugewiesen wird.

ASP.NET führt die Umleitung durch Zurückgeben eines HTTP-Statuscodes von 302 aus. Eine alternative Möglichkeit zum Übertragen von Steuerelementen in eine andere Seite ist die Transfer Methode. Die Transfer Methode ist in der Regel effizienter, da es keine Rundreise zum Client verursacht. Weitere Informationen finden Sie unter "Vorgehensweise: Umleiten von Benutzern zu einer anderen Seite".

Gilt für