2012-01-20 28 views
0

昨日この質問を投稿しましたが、ちょっと混乱していましたので、削除して再度投稿しました!HttpContext.Current.Server.Executeの後に元のURLを取得する方法

まあ、私はこのリンクを持つサーバー(私はそれを呼び出す「オリジナルURL」)(例えば)を呼び出す:

http://example.com/page/?IDL=1&IDH=90 

さて、このサーバー上で、私が変える、URL書き換えの並べ替えを行いますリクエストされたURLに:

http://example.com/myhandler404/page:PORT/?ID=34&IDL=1&IDH=90 

とトラフHttpContext.Current.Server.Execute()、より、私はこの新しいURLを呼び出します。

今、可能ですか(私はhttp://example.com/myhandler404/page:PORT/?ID=34&IDL=1&IDH=90です)リクエストの「元のURL」を取得できますか?解析/置換せずに、Executeオブジェクトのプロパティにアクセスすることはできますか?

Request.UrlReferrerと試しましたが、nullオブジェクトがありますか?

答えて

1

の代わりにServer.Transferpropertiesと一緒に使用してください。

かのQueryStringに、元のURLを添付

http://www.myserver.it/myhandler404/page:PORT/?ID=34&IDL=1&IDH=90& OriginalUrl =のhttp://www.myserver.it/page/ IDL = 1 & IDH = 90

としてそれを読みます?あなたはID、IDL、IDHに対して行います。

+0

: これは、1つまたは複数のServer.Transferを(複数可)しながら、いつも変わらないのです!私はオブジェクト/プロパティも "OriginalUrl"を取得するExecuteと考えています... – markzzz

+0

@markzzz編集を参照してください。 – Strillo

+0

私が言ったように、私は実行ゾーンの近くのコードを編集することはできません。だから私は実行機能を編集することはできません。このトピックを読むhttp://stackoverflow.com/questions/587510/how-to-detect-if-an-aspx-page-was-called-from-server-execute @stevemegson answer "Server.Executeは新しいページを実行します元のページと同じコンテキストでは、RequestのすべてのプロパティはWebpage.aspxへの元のリクエストを反映しているはずですが、どのパラメータを呼び出すべきかわかりません。 – markzzz

0

RawUrlを使用します。私は残念ながら、そのコードを編集することはできません

System.Web.HttpContext.Current.Request.RawUrl 
関連する問題