如何从自定义ActionFilter访问RedirectToAction?
public class ExceptionHandlingFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (filterContext.Exception != null && !filterContext.ExceptionHandled)
{
filterContext.ExceptionHandled = true;
// HERE : RedirectToAction("ServiceNotFound","Error");
}
base.OnActionExecuted(filterContext);
}
}
答案 0 :(得分:8)
试试这个:
filterContext.Result = new RedirectToRouteResult(
new System.Web.Routing.RouteValueDictionary {
{"controller", "Error"}, {"action", "ServiceNotFound"}
}
);
答案 1 :(得分:1)
你真的没有。您可以使用RedirectResult或RedirectToRouteResult。如果您正在考虑基于身份验证重定向,则应该考虑Controller是ActionFilter,因此您可以从基本控制器类继承此基本行为。只需覆盖基类中的OnActionExecuting方法。