1

次の違いは何ですか。

  1. サーバー転送?
  2. Response.Redirect?
  3. ポストバックURL?

どちらを使用するかをいつ決定する必要がありますか?

4

3 に答える 3

1

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

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

PostbackUrlクライアントでクリックされたときに移動する場所を ASP コントロールに指示するプロパティです。これにより、クライアントに情報を提供しながら、追加の往復は必要ありません。この方法を使用できる場合は、通常、他の選択肢よりも望ましい方法です。

于 2011-08-06T15:08:17.273 に答える
1

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

Response.Redirect実際には、応答で HTTP 302 ステータス コードを別の場所でクライアントに送り返します。その後、クライアントは新しい場所をたどる責任があります。ここで別のラウンドトリップが発生します。

PostBackUrl「転送メソッド」ではなく、フォームを送信する URL をブラウザに伝えるプロパティです。デフォルトでは、フォームはサーバー上のそれ自体にポストバックされます。

ここに良いリンクがあります: http://haacked.com/archive/2004/10/06/responseredirectverseservertransfer.aspx

于 2011-08-06T15:10:03.493 に答える
1
  1. サーバー.転送:

    サーバー上のあるページから別のページにリクエストを転送します。例 /page1.aspx のブラウザ要求

    リクエストは、Server.Transfer("/page2.aspx")を実行する page1 に送信されるため、リクエストは page2 に転送され、page2 は応答で返されますが、ブラウザーのアドレス バーには URL が表示されたままになります。/page1.aspx

  2. Response.Redirect

    このステートメントは、ブラウザーに次のページを要求するように指示します。この場合、ブラウザのアドレス バーも変更され、新しいページの URL が表示されます

  3. PostBackUrl

    ボタンまたはリンクボタンで言及できます。これにより、指定されたページにフォームが送信されます。これは次のようになります。

    <form method="post" action="/page2.aspx">
    
于 2011-08-06T15:17:59.013 に答える