Freigeben über


HttpResponse.Redirect Methode

Definition

Leitet einen Client zu einer neuen URL um.

Überlädt

Name Beschreibung
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 gibt an, 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 Zielspeicherort. Dies kann ein anwendungsrelativer virtueller Pfad sein.

Ausnahmen

Eine Umleitung wird versucht, nachdem die HTTP-Header gesendet wurden.

Beispiele

Im folgenden Beispiel wird eine bedingungslose Umleitung zu einer anderen Website erzwungen.

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

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

Hinweise

Das Aufrufen Redirect entspricht dem Aufrufen Redirect mit dem zweiten Parameter, der auf true.

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

Hinweis

Nur für mobile Seiten kann die Verwendung einer Tilde (~) in einem Pfad dazu führen, dass eine neue Sitzung erstellt und möglicherweise Sitzungsdaten von mobilen Geräten empfangen werden, die cookielose Sitzungen erfordern. Um eine Eigenschaft für ein mobiles Steuerelement mit einem Pfad wie "~/path" festzulegen, lösen Sie den Pfad mithilfe von ResolveUrl "~/path" auf, bevor Sie es der Eigenschaft zuweisen.

ASP.NET führt die Umleitung durch Zurückgeben eines 302 HTTP-Statuscodes aus. Eine alternative Möglichkeit zum Übertragen von Steuerelementen auf eine andere Seite ist die Transfer Methode. Die Transfer Methode ist in der Regel effizienter, da sie keinen Roundtrip zum Client verursacht. Weitere Informationen finden Sie unter How to: Redirect Users to Another Page.

Gilt für:

Redirect(String, Boolean)

Leitet einen Client zu einer neuen URL um. Gibt die neue URL an und gibt an, 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 Speicherort des Ziels.

endResponse
Boolean

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

Ausnahmen

url ist null.

url enthält ein Neueinbruchzeichen.

Eine Umleitung wird versucht, nachdem die HTTP-Header gesendet wurden.

Die Seitenanforderung ist das Ergebnis eines Rückrufs.

Beispiele

Im folgenden Beispiel wird die IsClientConnected Eigenschaft verwendet, um zu überprüfen, ob der Client, der die Seite anfordert, mit dem Server verbunden bleibt. Ist IsClientConnected dies der Fall, ruft der Code die Redirect Methode auf, und der Client zeigt eine andere Seite an. Ist IsClientConnected "false", ruft der Code die End Methode auf, und alle Seitenverarbeitungen werden 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 http://www.contoso.com/default.aspx. B. ) oder eine relative URL (z. B. Default.aspx) kann für den Zielspeicherort angegeben werden, einige Browser können jedoch 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 false starten, legen endResponse Sie diese fest, und rufen Sie dann die CompleteRequest Methode auf. Wenn Sie für den Parameter angebentrue, ruft diese Methode die End Methode für die ursprüngliche Anforderung auf, die beim Abschluss eine ThreadAbortException Ausnahme endResponse auslöst. Diese Ausnahme wirkt sich negativ auf die Webanwendungsleistung aus, weshalb die Übergabe false für den endResponse Parameter empfohlen wird. Weitere Informationen finden Sie in der End Methode.

Hinweis

Bei mobilen Seiten kann die Verwendung einer Tilde (~) in einem Pfad eine neue Sitzung erstellen und möglicherweise Sitzungsdaten von mobilen Geräten empfangen, die cookielose Sitzungen erfordern. Um eine Eigenschaft für ein mobiles Steuerelement mit einem Pfad wie "~/path" festzulegen, lösen Sie den Pfad mithilfe von ResolveUrl "~/path" auf, bevor Sie es der Eigenschaft zuweisen.

ASP.NET führt die Umleitung durch Zurückgeben eines 302 HTTP-Statuscodes aus. Eine alternative Möglichkeit zum Übertragen von Steuerelementen auf eine andere Seite ist die Transfer Methode. Die Transfer Methode ist in der Regel effizienter, da sie keinen Roundtrip zum Client verursacht. Weitere Informationen finden Sie unter How to: Redirect Users to Another Page.

Gilt für: