停止继续ASP.NET MVC ActionFilter

时间:2010-03-18 09:42:40

标签: asp.net asp.net-mvc action-filter actionfilterattribute

我在一个动作上有两个自定义ActionFilters。

在第一个actionfilters中,如果不满足条件,我会执行重定向(经典授权)。而在另一个我有一个重定向,如果不满足另一个条件(比如角色检查)。

但如果没有遇到第一个actionFilter,我不想继续第二个actionFilter。怎么做?

1 个答案:

答案 0 :(得分:22)

filterContext.Result属性设置为任何非空值将停止执行后续过滤器。因此,如果您的第一个过滤器设置filterContext.Result = new RedirectResult(...),则永远不会运行第二个过滤器和操作方法。这就是内置[Authorization]过滤器的工作原理。