asp.net-mvc – 如何跳过ActionFilter的操作执行?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 如何跳过ActionFilter的操作执行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以跳过整个动作方法执行并在OnActionExecuting中满足特定条件时返回特定的ActionResult?

解决方法

请参阅我的下载示例和MSDN文章 Filtering in ASP.NET MVC

您可以通过将Result属性设置为非空值来取消OnActionExecuting和OnResultExecuting方法中的过滤器执行。

将不会调用任何挂起的OnActionExecuted和OnActionExecuting过滤器,并且调用者不会为取消的过滤器或挂起的过滤器调用OnActionExecuted方法

将运行先前运行的过滤器的OnActionExecuted过滤器。所有的OnResultExecuting和OnResultExecuted过滤器将运行。

示例中的以下代码显示了当在OnActionExecuting中满足特定条件时如何返回特定的ActionResult:

if (filterContext.RouteData.Values.ContainsValue("Cancel")) 
{
    filterContext.Result = new RedirectResult("~/Home/Index");
    Trace.WriteLine(" Redirecting from Simple filter to /Home/Index");
}

猜你在找的asp.Net相关文章