HttpResponse.Redirect Metod

Definition

Omdirigerar en klient till en ny URL.

Överlagringar

Name Description
Redirect(String)

Omdirigerar en begäran till en ny URL och anger den nya URL:en.

Redirect(String, Boolean)

Omdirigerar en klient till en ny URL. Anger den nya URL:en och om körningen av den aktuella sidan ska avslutas.

Redirect(String)

Omdirigerar en begäran till en ny URL och anger den nya URL:en.

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

Parametrar

url
String

Målplatsen. Det kan vara en programrelativ virtuell sökväg.

Undantag

En omdirigering görs när HTTP-huvudena har skickats.

Exempel

I följande exempel framtvingas en ovillkorlig omdirigering till en annan webbplats.

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

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

Kommentarer

Anrop Redirect motsvarar anrop Redirect med den andra parametern inställd på true.

Redirect anrop End som utlöser ett ThreadAbortException undantag när det är klart. Det här undantaget har en skadlig effekt på webbprogrammets prestanda. Därför rekommenderar vi att du i stället för den här överlagringen använder överlagringen HttpResponse.Redirect(String, Boolean) och skickar false för parametern endResponse och sedan anropar CompleteRequest metoden. Mer information finns i End-metoden.

Note

Endast för mobila sidor, om ditt program förlitar sig på cookielösa sessioner eller kan ta emot begäranden från mobila enheter som kräver cookielösa sessioner, kan en tilde (~) i en sökväg resultera i att en ny session skapas och potentiellt förlora sessionsdata. Om du vill ange en egenskap för en mobil kontroll med en sökväg som "~/path" löser du sökvägen med hjälp av ResolveUrl "~/path" innan du tilldelar den till egenskapen.

ASP.NET utför omdirigeringen genom att returnera en HTTP-statuskod för 302. Ett alternativt sätt att överföra kontrollen till en annan sida är Transfer metoden. Metoden Transfer är vanligtvis effektivare eftersom den inte orsakar en tur och retur-resa till klienten. Mer information finns i Så här omdirigerar du användare till en annan sida.

Gäller för

Redirect(String, Boolean)

Omdirigerar en klient till en ny URL. Anger den nya URL:en och om körningen av den aktuella sidan ska avslutas.

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)

Parametrar

url
String

Målets plats.

endResponse
Boolean

Anger om körningen av den aktuella sidan ska avslutas.

Undantag

url är null.

url innehåller ett nytt radtecken.

En omdirigering görs när HTTP-huvudena har skickats.

Sidbegäran är resultatet av ett återanrop.

Exempel

I följande exempel används IsClientConnected egenskapen för att kontrollera om klienten som begär sidan förblir ansluten till servern. Om IsClientConnected är sant anropar Redirect koden metoden och klienten visar en annan sida. Om IsClientConnected är falskt anropar End koden metoden och all sidbearbetning avslutas.

<%@ 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>

Kommentarer

En absolut URL (till exempel ) eller en relativ URL (till exempel Default.aspx) kan anges för målplatsen, http://www.contoso.com/default.aspxmen vissa webbläsare kan avvisa en relativ URL.

När du använder den här metoden i en sidhanterare för att avsluta en begäran om en sida och starta en ny begäran för en annan sida anger du endResponse till false och anropar CompleteRequest sedan metoden. Om du anger true för parametern endResponse anropar den End här metoden metoden för den ursprungliga begäran, vilket utlöser ett ThreadAbortException undantag när den är klar. Det här undantaget har en skadlig effekt på webbappens prestanda, vilket är anledningen till att det rekommenderas att skicka false för parametern endResponse . Mer information finns i End-metoden.

Note

För mobila sidor, om ditt program förlitar sig på cookielösa sessioner, eller kan ta emot begäranden från mobila enheter som kräver cookielösa sessioner, kan en tilde (~) i en sökväg skapa en ny session och eventuellt förlora sessionsdata. Om du vill ange en egenskap för en mobil kontroll med en sökväg som "~/path" löser du sökvägen med hjälp av ResolveUrl "~/path" innan du tilldelar den till egenskapen.

ASP.NET utför omdirigeringen genom att returnera en HTTP-statuskod för 302. Ett alternativt sätt att överföra kontrollen till en annan sida är Transfer metoden. Metoden Transfer är vanligtvis effektivare eftersom den inte orsakar en tur och retur-resa till klienten. Mer information finns i Så här omdirigerar du användare till en annan sida.

Gäller för