asp.net mvc3创建一个将始终执行的控制器方法

时间:2011-10-27 16:11:43

标签: asp.net-mvc-3 controller action

我有一个基本控制器,每个其他控制器都从该控制器继承。我想在那里创建一个将在每个视图中执行的方法。现在我在Base控制器中有void方法,我只是调用每个控制器中的每个动作。

这甚至可以吗?

谢谢,

ħ

1 个答案:

答案 0 :(得分:3)

最简单的方法是使用ActionFilterAttribute,在MVC3中,您可以全局或按控制器注册属性。您不需要使用基本控制器。

您可以定义属性:

public class GlobalViewDataAttribute : ActionFilterAttribute { ... }

然后在Global.asax.cs中全局添加它:

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

要在控制器使用中的每个动作上使用它:

[GlobalViewData]
public class MyController : Controller {}