asp.net-mvc - 如何使 Action 方法上的ActionFilter优先于 Controller 上的同一ActionFilter

标签 asp.net-mvc

自从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/

相关文章:

asp.net - 在 ASP.Net 上每个 Web 请求创建 dbcontext 的成本

c# - Azure 部署 : A route named 'HelpPage_Default' is already in the route collection. 路由名称必须是唯一的。参数名称:名称

c# - MVC中的单一职责原则

asp.net-mvc - 使用 ASP.NET MVC 发布 Ajax 数组?

c# - MVC 4 - Razor - 将变量传递到 href url

asp.net-mvc - 使用自定义输出缓存提供程序 RedisOutputCacheProvider 时出现 ProviderException

asp.net-mvc - 该类型未实现 IModelBinder 接口(interface)。参数名称 : binderType

asp.net-mvc - 如何将生成的 HTML 存储为字符串,而不是使用 Razor View 引擎写入浏览器?

c# - 如何将 .NET Identity 与 HiQPdf 结合使用并呈现经过身份验证的 PDF

c# - 在 ASP.NET MVC 包中使用 CDN