2014-11-21 57 views
1

MVC过滤器提供了一种注入操作和控制器的预处理和后处理逻辑的方法。我们也可以编写自定义过滤器,并使用该属性来装饰我们的动作和控制器。在执行动作之前和之后,通过编写方法可以达到同样的效果。那我们为什么要使用过滤器?编写自定义方法和自定义过滤器有什么区别?编写自定义方法和自定义过滤器有什么区别?

+0

你可以通过“执行动作前后的方法”来显示你的意思吗(即给出一些代码,显示控制器的外观) – 2014-11-21 10:54:59

+0

使用过滤器可以让你编写一段代码然后应用于多个(或全部)动作方法 – 2014-11-21 10:58:57

+0

而不是使用动作过滤器,我可以在Controller的Action中调用一个函数。那么为什么我们需要MVC中的动作过滤器?这是我的疑问。 – 2014-11-21 14:05:21

回答

0

至于我得到自定义的方法你的意思重写器管道的方法,如OnActionExecutedOnResultExecuted等,如果你实现你的逻辑存在,代码编写也将在所有控制器方法被exicuted。此外,如果你想在你的应用程序的其他控制器中使用这个逻辑,你必须创建你的CoreContoller类,如果你覆盖了方法并由其他控制器继承它。

另一方面,如果您实现了ActionFilter并将其注册到您的MVC应用程序中,您可以在控制器方法的顶部添加属性,在不同的控制器方法上使用此逻辑。如果你不需要所有方法的逻辑,它就会更加灵活。