Ошибка в вызове действия после функции IActionFilter OnActionExecuting - PullRequest
0 голосов
/ 23 декабря 2010

Я использую функцию IActionFilter OnActionExecuting для некоторой проверки безопасности, но когда она вызывает ее, проверяет условие и, если это условие не выполняется, я хочу перенаправить его на действие входа в систему, но проблема в том, что он также вызывает следующее действие, которое я нехотите выполнить, если это условие не выполняется.

1 Ответ

1 голос
/ 23 декабря 2010

Это должно сделать работу:

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 .

...