1

私のMVC3C#プロジェクトでは、コントローラーコードでナビゲーションメニューを作成し、それをマスターページに渡す方法を検討してきました。(コントローラーのメニューを初期化して、承認や役割のチェックなどを実行できるようにしたい...)

これまでのところ、ここでいくつかの答えが見つかりましたが、すべてがBaseControllerのOnActionExecutedメソッドをオーバーライドする必要があるようです(他のすべてのコントローラーはそこから拡張されます)

例1(承認された回答を参照):ASP.NETMVCでベースコントローラーを使用して強く型付けされたマスターページを作成する方法

例2:「セキュリティ対応」アクションリンク?

しかし、同じコードをベースコントローラーのコンストラクターに入れるだけではどうでしょうか。

4

1 に答える 1

1

すべてのコントローラーが同じベースコントローラーから継承している場合、この方法でそれを実行できなかった理由はありません。

の利点はActionFilterAttribute、属性で装飾するだけで任意のコントローラーにロジックを挿入できることです。これにより、選択した任意の基本クラスから自由に継承できます。

于 2012-11-30T03:36:52.070 に答える