【问题标题】:How to conditionally apply a filter in ASP.NET MVC?如何有条件地在 ASP.NET MVC 中应用过滤器?
【发布时间】:2012-10-23 21:29:28
【问题描述】:


我对 ASP.NET MVC 有点陌生,我想知道是否有一个框架结构可以做我下面描述的事情?:

我想根据一些任意标准对一组控制器/操作应用过滤器。这里的关键点是我只想将过滤器应用于基于此标准的某些控制器或操作。我不想在控制器或控制器动作上使用属性,因为开发人员可能会忘记将这些属性添加到控制器动作中。

这个链接基本上描述了我想要的:http://haacked.com/archive/2011/04/25/conditional-filters.aspx

不过,我想知道,是否有一个 ASP.NET MVC 框架结构可以用来执行此操作而无需自己动手?顺便说一下,我正在使用 ASP.NET MVC 4。

非常感谢,如果不清楚,请见谅!

【问题讨论】:

  • 这种方法IS 是一个 MVC 框架结构。它专门实现了 IFilterProvider,这是一种设计到 MVC 框架中的可扩展机制,允许您自定义事物的工作方式。换句话说,您正在使用该框架的预期用途。
  • @MystereMan,谢谢,我就是这么想的。我想我已经习惯了其他围绕过滤器具有更多功能的 MVC 框架。不过,编写我们自己的实现并不难。谢谢!!

标签: asp.net .net asp.net-mvc asp.net-mvc-4


【解决方案1】:

您需要创建自己的条件过滤器,没有任何其他方法可以有条件地将属性应用于控制器操作。

您提供的黑客方法就是这样做的方法。

【讨论】:

    猜你喜欢
    • 2021-11-26
    • 2021-04-14
    • 1970-01-01
    • 2013-06-16
    • 2012-07-21
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多