3

「a.aspx」の「Page_init()」で言うと、「server.transferrequest(「b.aspx」) しかありません。

これはうまく機能し、「b.aspx」のコンテンツを表示し、ブラウザの URL は「a.aspx」のままです。

幸せな日々。

しかし、私の "b.aspx" (結果のページ) からこの URL を表示する方法を知っている人はいますか?

通常の request.rawurl と request.url.absoluteuri はどちらも、現在のページを "b.aspx" として返します。

4

5 に答える 5

2

Server.TransferRequest指定された URL の非同期実行を実行します。これは、クライアントがサーバーで起こっていることの手がかりがないことを意味するため、クライアントの観点からは同じページです。

実際のページを変更する必要がある場合 (これが最も一般的です)、 を使用しますResponse.Redirect

于 2009-07-23T12:53:03.273 に答える
1

PreviousPageを使用して、サーバー転送を行うソースページを取得できます。

string previousPagesUrl = PreviousPage.Request.RawUrl;

編集: @maxp、コメントへの回答として、PreviousPageはServer.Transferおよびクロスページポストバックに対してのみ機能します。

次の場合、 PreviousPageはnullになります。

  • ソースページは宛先ページにリダイレクトされます。
  • ソースページのリンクは、ページを宛先ページに転送します。
于 2009-07-23T13:16:31.387 に答える
1

転送を行う前に、必要な情報をどこかに保存しておき、再び必要になったときにそれを取得することができます。

于 2009-07-23T13:01:26.817 に答える
0

この方法を試しましたか:

public void Transfer(string path, bool preserveForm )

http://msdn.microsoft.com/en-us/library/caxa892w.aspx

私は現在同じ問題に遭遇しました.Serverオブジェクトには、元のリクエストフォームを保持する可能性を与える転送メソッドにこのパラメーターがあることがわかりました。

于 2011-11-04T09:43:46.727 に答える