Bagikan melalui


HttpResponse.Redirect Metode

Definisi

Mengalihkan klien ke URL baru.

Overload

Redirect(String)

Mengalihkan permintaan ke URL baru dan menentukan URL baru.

Redirect(String, Boolean)

Mengalihkan klien ke URL baru. Menentukan URL baru dan apakah eksekusi halaman saat ini harus dihentikan.

Redirect(String)

Mengalihkan permintaan ke URL baru dan menentukan URL baru.

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

Lokasi target. Ini mungkin jalur virtual relatif aplikasi.

Pengecualian

Pengalihan dicoba setelah header HTTP dikirim.

Contoh

Contoh berikut memaksa pengalihan tanpa syarat ke situs Web lain.

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

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

Keterangan

Redirect Panggilan setara dengan panggilan Redirect dengan parameter kedua yang diatur ke true.

Redirect End panggilan yang melemparkan ThreadAbortException pengecualian setelah selesai. Pengecualian ini memiliki efek yang merugikan pada performa aplikasi Web. Oleh karena itu, kami menyarankan agar alih-alih kelebihan beban ini, Anda menggunakan HttpResponse.Redirect(String, Boolean) kelebihan beban dan meneruskan falseendResponse parameter, lalu memanggil CompleteRequest metode . Untuk informasi lebih lanjut, lihat Endmetodenya.

Catatan

Hanya untuk halaman seluler, jika aplikasi Anda bergantung pada sesi tanpa cookie, atau mungkin menerima permintaan dari perangkat seluler yang memerlukan sesi tanpa cookie, menggunakan tilde (~) di jalur dapat mengakibatkan pembuatan sesi baru dan berpotensi kehilangan data sesi. Untuk mengatur properti pada kontrol seluler dengan jalur seperti "~/path", selesaikan jalur menggunakan ResolveUrl "~/path" sebelum menetapkannya ke properti .

ASP.NET melakukan pengalihan dengan mengembalikan kode status HTTP 302. Cara alternatif untuk mentransfer kontrol ke halaman lain adalah Transfer metode . Metode Transfer ini biasanya lebih efisien karena tidak menyebabkan perjalanan pulang pergi ke klien. Untuk informasi selengkapnya, lihat Cara: Mengalihkan Pengguna ke Halaman Lain.

Berlaku untuk

Redirect(String, Boolean)

Mengalihkan klien ke URL baru. Menentukan URL baru dan apakah eksekusi halaman saat ini harus dihentikan.

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

Lokasi target.

endResponse
Boolean

Menunjukkan apakah eksekusi halaman saat ini harus dihentikan.

Pengecualian

urladalah null.

url berisi karakter baris baru.

Pengalihan dicoba setelah header HTTP dikirim.

Permintaan halaman adalah hasil dari panggilan balik.

Contoh

Contoh berikut menggunakan IsClientConnected properti untuk memeriksa apakah klien yang meminta halaman tetap terhubung ke server. Jika IsClientConnected benar, kode memanggil Redirect metode , dan klien akan melihat halaman lain. Jika IsClientConnected salah, maka kode memanggil End metode dan semua pemrosesan halaman dihentikan.

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

Keterangan

URL absolut (misalnya, http://www.contoso.com/default.aspx) atau URL relatif (misalnya, Default.aspx) dapat ditentukan untuk lokasi target tetapi beberapa browser dapat menolak URL relatif.

Saat Anda menggunakan metode ini dalam penangan halaman untuk mengakhiri permintaan untuk satu halaman dan memulai permintaan baru untuk halaman lain, atur endResponse ke false lalu panggil CompleteRequest metode . Jika Anda menentukan true untuk endResponse parameter , metode ini memanggil End metode untuk permintaan asli, yang memberikan ThreadAbortException pengecualian saat selesai. Pengecualian ini memiliki efek yang merugikan pada performa aplikasi Web, itulah sebabnya disarankan untuk endResponse meneruskan false parameter. Untuk informasi lebih lanjut, lihat Endmetodenya.

Catatan

Untuk halaman seluler, jika aplikasi Anda bergantung pada sesi tanpa cookie, atau mungkin menerima permintaan dari perangkat seluler yang memerlukan sesi tanpa cookie, menggunakan tilde (~) di jalur dapat membuat sesi baru dan berpotensi kehilangan data sesi. Untuk mengatur properti pada kontrol seluler dengan jalur seperti "~/path", selesaikan jalur menggunakan ResolveUrl "~/path" sebelum menetapkannya ke properti .

ASP.NET melakukan pengalihan dengan mengembalikan kode status HTTP 302. Cara alternatif untuk mentransfer kontrol ke halaman lain adalah Transfer metode . Metode Transfer ini biasanya lebih efisien karena tidak menyebabkan perjalanan pulang pergi ke klien. Untuk informasi selengkapnya, lihat Cara: Mengalihkan Pengguna ke Halaman Lain.

Berlaku untuk