См. Мой пример загрузки и статью MSDN Фильтрация в ASP.NET MVC .
Вы можете отменить выполнение фильтра в методах OnActionExecuting
и OnResultExecuting
, установив для свойства Result
ненулевое значение.
Любые ожидающие фильтры OnActionExecuted
и OnActionExecuting
не будут вызваны, и вызывающий не вызовет метод OnActionExecuted
для отмененного фильтра или для ожидающих фильтров.
Запустится фильтр OnActionExecuted
для ранее запущенных фильтров. Запустятся все фильтры OnResultExecutingand
OnResultExecuted
.
Следующий код из примера показывает, как вернуть определенный ActionResult
, когда определенное условие выполнено в OnActionExecuting
:
if (filterContext.RouteData.Values.ContainsValue("Cancel"))
{
filterContext.Result = new RedirectResult("~/Home/Index");
Trace.WriteLine(" Redirecting from Simple filter to /Home/Index");
}