2009-03-16 16 views
2

私は最近asp.net mvcを調べ始めました。ここに私の問題があります。asp.net mvc初心者の質問

アプリケーションのすべてのページに、ユーザーが設定した変数が必要であるとします。デート。ユーザーが提供するURLから開始すると、その日付を尋ねてセッションに保存すると、すべて役に立ちます。他のURLを(別のコントローラとアクションに)保存すると、ユーザーを最初のページにリダイレクトする方法を教えてください。

つまり、[認可]属性のようなものをアプリケーションレベルで探していると思います。

ありがとうございました。

答えて

3

おそらく、すべてのコントローラが派生したベースコントローラを作成するでしょう。ベースコントローラでは、OnActionExecutingメソッドをオーバーライドして、必要な変数のセッションを確認します。変数が存在しない場合は、ActionExecutingContext ResultプロパティをRedirectToRouteResultに設定して、適切なコントローラ/アクションに設定して変数を設定します。

もう1つの方法は、基本的に同じことを行う適切なコントローラ/アクションをデコレートするカスタムFilterAttributeを作成することです。フィルターが特定のコントローラーまたはアクションのみに適用され、ユーザーの質問にすべて記述されていない場合にのみ、これを実行します。

+0

迅速な対応に感謝します。 OnActionExecutedをオーバーライドすると完全に機能しました。 – coderguy123