我编写了一个扩展类来为我的操作方法定制我的AuthorizeAttribute,我希望能够在满足特定条件时将消息注入到我的视图中。我正在使用下面的代码来加载一个共享视图,当一个用户没有被授权,但它没有将我的消息添加到我的ViewData集合中。
public override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
if (IsNotAuthorized)
{
filterContext.Result = new ViewResult { ViewName = "NotAuthorized" };
filterContext.Controller.ViewData["Message"] = "Go Away";
}
}我还尝试将我的ViewData"Message“集合项设置在调用之上,以更改视图,但没有成功。
发布于 2010-01-12 06:03:08
你试过了吗?
filterContext.Result = new RedirectResult("Home/Index");我不知道如何添加ViewData,但这至少会让你找到未授权的控制器。
在此期间,我会继续寻找代码添加到视图数据中,或者直到有人发布它。
编辑
这可能会有所帮助;
Changing ActionExecutingContext values in Custom Filter Attribute
https://stackoverflow.com/questions/2045200
复制相似问题