2011-03-13 9 views
5

私は以前にセッションに訪れたURLをどのように見つけることができますか?前のURLにリダイレクトしますか?

ユーザーが何かをした後、そのURLにリダイレクトできます。

標準的な方法はありますか?それ以外の場合は、Global.asaxにいくつかのオーバーライドを追加し、セッション履歴を格納するためにセッション変数を使用しました。

答えて

5

Request.UrlReferrerはあなたが望むものであるかもしれないが、あなたは、パラメータとしてAJAXを使用したり、URLを渡すことについて考えたいかもしれません...

1

特定のケースでは、あなたが渡すことはできませんが、上記の答えは、完全に正確ですURLがマスクされている場合など、クエリ文字列に沿ったURLこの場合、正しい方法はRequest.UrlReferrerです。セッション変数を使用する際の問題は、有効期限が切れ、信頼性の低い動作が発生する可能性があることです。または、複数のセッションアクティブまたはミラーリングされたサーバーがある場合は、まったく動作しません。

一般的に、MVCでセッション変数を使用するのは避けることができません。私が行った解決策は、JavaScriptを使用して以前のURLを取得し、それをビューモデルで渡すことでした。

+0

ユーザーがJavaScriptを無効にしている場合、これは機能しません。 URLエンコーディングは理にかなっています。 – ashes999

+1

ああ私は、サイト全体が私の場合JavaScriptに依存していることを付け加えて、JSが有効になっているhehなしでこのページを表示させません – whoblitz

関連する問題