0

我正在使用 IActionFilter OnActionExecuting 函数进行一些安全检查,但是当它调用它时检查一个条件,如果该条件失败,我想将它重定向到登录操作,但问题是,它也调用了我不想执行的下一个操作如果该条件不成立。

4

1 回答 1

1

这应该做的工作:

public class MyCustomActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (someCondition)
        {
            var values = new RouteValueDictionary(new { 
                action = "index",
                controller = "login"
            });
            filterContext.Result = new RedirectToRouteResult(values);
        }
        base.OnActionExecuting(filterContext);
    }
}

确保您的属性派生自ActionFilterAttribute

于 2010-12-23T08:23:05.130 回答