HttpResponse.Redirect Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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".