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:

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

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