2010-01-11 2 views
2

Я написал класс расширения для настройки моего AuthorizeAttribute для своих методов действий, и я хотел бы иметь возможность вводить сообщения в мое представление, когда выполняется определенное условие. Я «использую следующий код, чтобы загрузить общий вид, когда пользователь не имеет права, но это не добавляет мое сообщение к моей коллекции ViewData. Есть идеи?Добавление в ViewData [] коллекции из AuthorizeAttribute Extension

public override void OnAuthorization(AuthorizationContext filterContext) 
{ 
    base.OnAuthorization(filterContext); 
    if (IsNotAuthorized) 
    { 
     filterContext.Result = new ViewResult { ViewName = "NotAuthorized" }; 
     filterContext.Controller.ViewData["Message"] = "Go Away"; 
    } 
} 

Я также попытался установить мой ViewData [» Сообщение "] сбор пункт выше вызова, чтобы изменить вид без успеха

ответ

0

вы пробовали;.

filterContext.Result = new RedirectResult("Home/Index"); 

Я не знаю, как добавить ViewData, но это приведет вас к не авторизованы контроллер не менее.

Я буду продолжать искать код для добавления для просмотра данных в среднем времени или до тех пор, пока кто-то не опубликует его.

редактировать

Это может помочь;

Changing ActionExecutingContext values in Custom Filter Attribute

+0

hmm..the решение, которое вы связаны, кажется, что-то другое. У кого-нибудь есть другие идеи? – Kyle