2011-08-06 13 views
1

次の違いは何ですか:いただきました次のページ転送方法の違い

  1. Server.Transferのは?
  2. Response.Redirect?
  3. Postbackurl?

どのような場合に使用するのですか?

+0

Infactは、何がしたいですか? –

+0

投稿をもう一度読む –

+0

おそらく重複:http://stackoverflow.com/questions/224569/server-transfer-vs-response-redirect http://stackoverflow.com/questions/521527/response-redirect-vs-server-転送http://stackoverflow.com/questions/4660501/response-redirect-vs-server-transfer-redirect-as-a-suggestion – gideon

答えて

1

Server.Transferは、同じアプリケーション内の別のページに処理をリダイレクトするようにASP.NETに指示します。これは完全にサーバー側で発生します。これはサーバー側で発生するより効率的ですが、この方法にはいくつかの制限があります。以下のリンクは、これらのいくつかを説明しています。

Response.Redirectは実際にHTTP 302ステータスコードを別の場所の応答でクライアントに返します。クライアントは新しい場所を追跡する責任があります。ここでは別の往復があります。

PostBackUrlは、「転送方法」ではなく、フォームを送信するURLをブラウザに知らせるプロパティです。デフォルトでは、フォームはサーバー上で自身にポストバックします。 http://haacked.com/archive/2004/10/06/responseredirectverseservertransfer.aspx

1

Server.Transer()はサーバ側で動作します。それは、要求されたクライアントとは異なるページでクライアントに応答する。クライアントがリフレッシュすると(F5)、元のページがリフレッシュされます。

Response.Redirect()は、別のページに移動する必要があることをクライアントに返信します。これには追加の往復が必要ですが、クライアントはリダイレクトについて知っているので、F5が宛先ページを要求します。

PostbackUrlは、クライアント上でクリックするとどこに行くかをASPコントロールに伝えるプロパティです。クライアントに情報を伝えながら、追加の往復は必要ありません。この方法を使用することができれば、他の選択肢よりも一般に好ましい方法です。

1
  1. Server.Transferを::

    転送は、サーバー上の他の1つのページからリクエスト

    は、ここでは良いリンクです。例: リクエストは、あなたがServer.Transferを(「/にPage2.aspx」)がそう反応してPAGE2そしてPAGE2リターンへの転送を要求しますが、ブラウザのアドレスバーが/page1.aspxのURLを示したままのPage1に来/page1.aspx

    のブラウザ要求

  2. のResponse.Redirect

    この文は、次のページを要求するブラウザに指示します。この場合、ブラウザのアドレスバーには、新しいページのURLを変更して示して

  3. PostBackUrl

    あなたはボタンやリンクボタンの上にそれを言及することができます。これにより、提供されたページにフォームが提出されます。それは次のようになります。

    <form method="post" action="/page2.aspx"> 
    
関連する問題