HttpResponse.Redirect Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přesměruje klienta na novou adresu URL.
Přetížení
| Name | Description |
|---|---|
| Redirect(String) |
Přesměruje požadavek na novou adresu URL a určí novou adresu URL. |
| Redirect(String, Boolean) |
Přesměruje klienta na novou adresu URL. Určuje novou adresu URL a zda má být ukončeno spuštění aktuální stránky. |
Redirect(String)
Přesměruje požadavek na novou adresu URL a určí novou adresu URL.
public:
void Redirect(System::String ^ url);
public void Redirect(string url);
member this.Redirect : string -> unit
Public Sub Redirect (url As String)
Parametry
- url
- String
Cílové umístění. Může se jednat o virtuální cestu relativní vzhledem k aplikaci.
Výjimky
Po odeslání hlaviček HTTP dojde k pokusu o přesměrování.
Příklady
Následující příklad vynutí bezpodmínečné přesměrování na jiný web.
Response.Redirect("http://www.microsoft.com/gohere/look.htm");
Response.Redirect("http://www.microsoft.com/gohere/look.htm")
Poznámky
Volání Redirect je ekvivalentní volání Redirect s druhým parametrem nastaveným na true.
Redirect volání End , která při dokončení vyvolá ThreadAbortException výjimku. Tato výjimka má nepříznivý vliv na výkon webové aplikace. Proto doporučujeme, abyste místo tohoto přetížení použili HttpResponse.Redirect(String, Boolean) přetížení a předali falseendResponse parametr a pak volali metodu CompleteRequest . Další informace najdete v metodě End.
Poznámka:
Pouze pro mobilní stránky, pokud vaše aplikace spoléhá na relace bez souborů cookie nebo může přijímat žádosti z mobilních zařízení, která vyžadují relace bez souborů cookie, může použití vlnovek (~) v cestě vést k vytvoření nové relace a potenciálně ztrátě dat relace. Pokud chcete nastavit vlastnost na mobilním ovládacím prvku s cestou, například ~/path, před přiřazením k vlastnosti ji přeložte pomocí ResolveUrl ~/path.
ASP.NET přesměrování provede vrácením stavového kódu HTTP 302. Alternativní způsob, jak přenést řízení na jinou stránku, je Transfer metoda. Metoda Transfer je obvykle efektivnější, protože nezpůsobí odezvu klienta. Další informace naleznete v tématu Postupy: Přesměrování uživatelů na jinou stránku.
Platí pro
Redirect(String, Boolean)
Přesměruje klienta na novou adresu URL. Určuje novou adresu URL a zda má být ukončeno spuštění aktuální stránky.
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)
Parametry
- url
- String
Umístění cíle.
- endResponse
- Boolean
Určuje, jestli se má ukončit spuštění aktuální stránky.
Výjimky
url je null.
url obsahuje znak nového řádku.
Po odeslání hlaviček HTTP dojde k pokusu o přesměrování.
Požadavek na stránku je výsledkem zpětného volání.
Příklady
Následující příklad používá IsClientConnected vlastnost ke kontrole, zda klient, který žádá o stránku zůstává připojen k serveru. Pokud IsClientConnected je pravda, kód volá metodu Redirect a klient zobrazí jinou stránku. Pokud IsClientConnected je false, kód volá metodu End a veškeré zpracování stránky je ukončeno.
<%@ 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>
Poznámky
Pro cílové umístění je možné zadat absolutní adresu URL (například http://www.contoso.com/default.aspx) nebo relativní adresu URL (například Default.aspx), ale některé prohlížeče můžou relativní adresu URL odmítnout.
Pokud tuto metodu použijete v obslužné rutině stránky k ukončení požadavku na jednu stránku a spuštění nového požadavku na jinou stránku, nastavte endResponse na false a potom volejte metodu CompleteRequest . Pokud zadáte true parametr endResponse , tato metoda volá metodu End pro původní požadavek, který vyvolá ThreadAbortException výjimku po dokončení. Tato výjimka má nepříznivý vliv na výkon webové aplikace, což je důvod, proč se doporučuje předání false parametru endResponse . Další informace najdete v metodě End.
Poznámka:
Pokud se vaše aplikace u mobilních stránek spoléhá na relace bez souborů cookie nebo může přijímat žádosti z mobilních zařízení, která vyžadují relace bez souborů cookie, může pomocí vlnovky (~) v cestě vytvořit novou relaci a potenciálně ztratit data relace. Pokud chcete nastavit vlastnost na mobilním ovládacím prvku s cestou, například ~/path, před přiřazením k vlastnosti ji přeložte pomocí ResolveUrl ~/path.
ASP.NET přesměrování provede vrácením stavového kódu HTTP 302. Alternativní způsob, jak přenést řízení na jinou stránku, je Transfer metoda. Metoda Transfer je obvykle efektivnější, protože nezpůsobí odezvu klienta. Další informace naleznete v tématu Postupy: Přesměrování uživatelů na jinou stránku.