我有一个基本控制器,每个其他控制器都从该控制器继承。我想在那里创建一个将在每个视图中执行的方法。现在我在Base控制器中有void方法,我只是调用每个控制器中的每个动作。
这甚至可以吗?
谢谢,
ħ
答案 0 :(得分:3)
最简单的方法是使用ActionFilterAttribute
,在MVC3中,您可以全局或按控制器注册属性。您不需要使用基本控制器。
您可以定义属性:
public class GlobalViewDataAttribute : ActionFilterAttribute { ... }
然后在Global.asax.cs中全局添加它:
GlobalFilters.Filters.Add(new GlobalViewDataAttribute());
要在控制器使用中的每个动作上使用它:
[GlobalViewData]
public class MyController : Controller {}