MVC Как вернуть представление в ActionFilterAttribute как ActionResult? - PullRequest
0 голосов
/ 29 сентября 2011

Можно ли даже вернуть представление из ActionFilterAttribute?Прямо сейчас у меня просто выдается ошибка и в OnException в базовом контроллере перенаправляется на страницу ошибки.Хотелось бы показать мое представление NoAccess, как я делаю, когда есть проблема с разрешениями внутри действия, но она возникает из атрибута в действии.

    public sealed class UserHasPermissionAttribute : ActionFilterAttribute
    {
      public override void OnActionExecuting(ActionExecutingContext filterContext)
      {
if(HasPermission == false){

//What are my options here a view?

}
}
}

Посмотрел несколько сайтов в блогах, но ни один из них не объяснил хорошо, или что я ищу.

1 Ответ

0 голосов
/ 30 сентября 2011

Судя по звукам того, для чего вы используете свой фильтр действий, возможно, вам стоит использовать AuthorizeAttribute?

В качестве альтернативы вы можете попробовать просто перенаправить в самом методе OnActionExecuting, используя что-то вроде:

filterContext.HttpContext.Response.Redirect(errorUrl);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...