HttpResponse.Redirect HttpResponse.Redirect HttpResponse.Redirect HttpResponse.Redirect Method

Definition

クライアントを新しい URL にリダイレクトします。 Redirects a client to a new URL.

Overloads

Redirect(String) Redirect(String) Redirect(String) Redirect(String)

新しい URL に要求をリダイレクトして、新しい URL を指定します。 Redirects a request to a new URL and specifies the new URL.

Redirect(String, Boolean) Redirect(String, Boolean) Redirect(String, Boolean) Redirect(String, Boolean)

クライアントを新しい URL にリダイレクトします。 Redirects a client to a new URL. 新しい URL を指定し、さらに現在のページの実行を終了するかどうかを指定します。 Specifies the new URL and whether execution of the current page should terminate.

Redirect(String) Redirect(String) Redirect(String) Redirect(String)

新しい URL に要求をリダイレクトして、新しい URL を指定します。 Redirects a request to a new URL and specifies the new URL.

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

パラメーター

url
String String String String

対象となる位置。 The target location. アプリケーションの相対仮想パスを指定できます。 This may be an application-relative virtual path.

Exceptions

HTTP ヘッダーが送信された後にリダイレクトしようとしました。 A redirection is attempted after the HTTP headers have been sent.

Examples

次の例では、別の Web サイトへの無条件のリダイレクトを強制します。The following example forces an unconditional redirection to another Web site.

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

Remarks

呼び出すRedirect呼び出しと同じですがRedirect2 番目のパラメーターを設定してtrueします。Calling Redirect is equivalent to calling Redirect with the second parameter set to true.

Redirect 呼び出しEndどのがスローされます、ThreadAbortException完了時に例外。Redirect calls End which throws a ThreadAbortException exception upon completion. この例外は、Web アプリケーションのパフォーマンスに悪影響を与えます。This exception has a detrimental effect on Web application performance. このオーバー ロードではなくを使用すること勧めそのため、HttpResponse.Redirect(String, Boolean)オーバー ロードを渡すfalseendResponseパラメーターであり、呼び出し、CompleteRequestメソッド。Therefore, we recommend that instead of this overload you use the HttpResponse.Redirect(String, Boolean) overload and pass false for the endResponse parameter, and then call the CompleteRequest method. 詳細については、End メソッドを参照してください。For more information, see the End method.

注意

モバイル ページの場合は、アプリケーションが cookie なしのセッションに依存または cookie なしのセッションを必要とするモバイル デバイスから要求を受信する可能性がありますパスにチルダ (~) が使用されることが、新しいセッションを作成して、セッション データが失われる可能性があります。For mobile pages only, if your application relies on cookieless sessions, or might receive requests from mobile devices that require cookieless sessions, using a tilde (~) in a path can result in creating a new session and potentially losing session data. などのパスを使用して、モバイル コントロールのプロパティを設定する"~/パス"を使用してパスを解決するResolveUrl"~/パス"プロパティに割り当てる前にします。To set a property on a mobile control with a path such as "~/path", resolve the path using ResolveUrl "~/path" before assigning it to the property.

ASP.NET では、HTTP 状態コード 302 を返すことによって、リダイレクトを実行します。ASP.NET performs the redirection by returning a 302 HTTP status code. 別のページにコントロールを転送する別の方法は、Transferメソッド。An alternative way to transfer control to another page is the Transfer method. Transferメソッドは、クライアントへのラウンド トリップが発生しませんので、通常が効率的です。The Transfer method is typically more efficient because it does not cause a round trip to the client. 詳細については、次を参照してください。方法: 別のページにユーザーをリダイレクトします。For more information, see How to: Redirect Users to Another Page.

Redirect(String, Boolean) Redirect(String, Boolean) Redirect(String, Boolean) Redirect(String, Boolean)

クライアントを新しい URL にリダイレクトします。 Redirects a client to a new URL. 新しい URL を指定し、さらに現在のページの実行を終了するかどうかを指定します。 Specifies the new URL and whether execution of the current page should terminate.

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)

パラメーター

url
String String String String

リダイレクト先の場所。 The location of the target.

endResponse
Boolean Boolean Boolean Boolean

現在のページの実行を終了するかどうかを示します。 Indicates whether execution of the current page should terminate.

Exceptions

url に改行文字が含まれています。 url contains a newline character.

HTTP ヘッダーが送信された後にリダイレクトしようとしました。 A redirection is attempted after the HTTP headers have been sent.

ページ要求がコールバックの結果となっています。 The page request is the result of a callback.

Examples

次の例では、IsClientConnectedページを要求しているクライアントがサーバーに接続されているかどうかを確認するプロパティ。The following example uses the IsClientConnected property to check whether the client that is requesting the page remains connected to the server. 場合IsClientConnectedが true の場合、コードでは、Redirectメソッド、およびクライアントに別のページを表示します。If IsClientConnected is true, the code calls the Redirect method, and the client will view another page. 場合IsClientConnectedが false の場合、コードを呼び出して、Endメソッドとページのすべての処理が終了します。If IsClientConnected is false, then the code calls the End method and all page processing is terminated.

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

Remarks

絶対 URL (たとえば、http://www.contoso.com/default.aspx)またはターゲットの場所の相対 URL (たとえば、Default.aspx) を指定することができますが、一部のブラウザーが相対 URL を拒否することがあります。An absolute URL (for example, http://www.contoso.com/default.aspx) or a relative URL (for example, Default.aspx) can be specified for the target location but some browsers may reject a relative URL.

ときにこのメソッドを使用するページのハンドラーでの 1 つのページとスタート ページで、もう 1 つの新しい要求を設定する要求を終了endResponsefalseを呼び出して、CompleteRequestメソッド。When you use this method in a page handler to terminate a request for one page and start a new request for another page, set endResponse to false and then call the CompleteRequest method. 指定した場合trueendResponseパラメーターでは、このメソッドは、Endスロー元の要求のメソッド、ThreadAbortException完了時に例外。If you specify true for the endResponse parameter, this method calls the End method for the original request, which throws a ThreadAbortException exception when it completes. この例外に渡すため Web アプリケーションのパフォーマンスに悪影響を与えますfalseendResponseパラメーターをお勧めします。This exception has a detrimental effect on Web application performance, which is why passing false for the endResponse parameter is recommended. 詳細については、End メソッドを参照してください。For more information, see the End method.

注意

モバイル ページの場合は、場合は、アプリケーションが cookie なしのセッションに依存または cookie なしのセッションを必要とするモバイル デバイスから要求を受信する可能性がありますを新しいセッションを作成し、セッション データを失う可能性があることができますパスにチルダ (~) を使用します。For mobile pages, if your application relies on cookieless sessions, or might receive requests from mobile devices that require cookieless sessions, using a tilde (~) in a path can create a new session and potentially lose session data. などのパスを使用して、モバイル コントロールのプロパティを設定する"~/パス"を使用してパスを解決するResolveUrl"~/パス"プロパティに割り当てる前にします。To set a property on a mobile control with a path such as "~/path", resolve the path using ResolveUrl "~/path" before assigning it to the property.

ASP.NET では、HTTP 状態コード 302 を返すことによって、リダイレクトを実行します。ASP.NET performs the redirection by returning a 302 HTTP status code. 別のページにコントロールを転送する別の方法は、Transferメソッド。An alternative way to transfer control to another page is the Transfer method. Transferメソッドは、クライアントへのラウンド トリップが発生しませんので、通常が効率的です。The Transfer method is typically more efficient because it does not cause a round trip to the client. 詳細については、次を参照してください。方法: 別のページにユーザーをリダイレクトします。For more information, see How to: Redirect Users to Another Page.

Applies to