私のMVC3C#プロジェクトでは、コントローラーコードでナビゲーションメニューを作成し、それをマスターページに渡す方法を検討してきました。(コントローラーのメニューを初期化して、承認や役割のチェックなどを実行できるようにしたい...)
これまでのところ、ここでいくつかの答えが見つかりましたが、すべてがBaseControllerのOnActionExecutedメソッドをオーバーライドする必要があるようです(他のすべてのコントローラーはそこから拡張されます)
例1(承認された回答を参照):ASP.NETMVCでベースコントローラーを使用して強く型付けされたマスターページを作成する方法
しかし、同じコードをベースコントローラーのコンストラクターに入れるだけではどうでしょうか。