自从11月以来,asp.net mvc发生了很大变化,有人对此问题有解决方案:
Resolve FilterAttributes On Controller And Action
菲尔说 Controller 上的ActionFilter只是将属性应用于 Controller 的所有操作方法的简写,的确是这样,如果我将相同的ActionFilter属性放在 Controller 和操作方法上,它将运行两次。但这似乎不是自然行为,因为编译器甚至不允许您多次将同一属性直接放在方法上。
最佳答案
通过在每个过滤器上指定Order属性,过滤器可以优先于另一个过滤器。例如...
[MyFilter(Order=2)]
public class MyController : Controller
{
[MyFilter(Order=1)]
public ActionResult MyAction()
{
//...
}
}
在此示例中,action方法上的过滤器将在 Controller 上的文件管理器之前执行。
高温超导
关于asp.net-mvc - 如何使 Action 方法上的ActionFilter优先于 Controller 上的同一ActionFilter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/927721/