2011-10-27 2 views
2

私は他のすべてのコントローラが継承するベースコントローラを持っています。私はそこにそれぞれのビューで実行されるメソッドを作成したいと思います。今私はすべてのコントローラのすべてのアクションを呼び出すだけで、基本コントローラにvoidメソッドがあります。asp.net mvc3常に実行されるコントローラメソッドを作成

これも可能ですか?

はこれを行う最も簡単な方法はActionFilterAttributeであるとMVC3にあなたがグローバルまたはコントローラごとに属性を登録することができます。ありがとう、

H

答えて

3

ベースコントローラーを使用する必要はありません。

あなたの属性を定義することができます。その後、

public class GlobalViewDataAttribute : ActionFilterAttribute { ... } 

そして、あなたのGlobal.asax.csでグローバルにそれを追加します。

GlobalFilters.Filters.Add(new GlobalViewDataAttribute()); 

をコントローラの使用中のすべてのアクションでそれを使用するには:

[GlobalViewData] 
public class MyController : Controller {} 
関連する問題