基于ASP.NET MVC中的控制器属性向视图模型添加错误消息

时间:2011-09-16 04:32:40

标签: .net asp.net-mvc

我的控制器上有自定义属性,其详细信息可以是viewed here

如果此自定义属性返回false,则返回登录屏幕。如果属性返回false,我想在登录屏幕的模型中添加错误。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

对于那些正在寻找答案的人来说,我最终是这样做的:

protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
   if (filterContext.HttpContext.User.Identity.IsAuthenticated)
   {
      var result = new ViewResult();
      result.ViewName = "NotAuthorized";
      result.MasterName = "_Layout";
      filterContext.Result = result;
   }
   else
      base.HandleUnauthorizedRequest(filterContext);
}

答案 1 :(得分:0)

查看TempData功能。基本上,它类似于ViewData,但仍适用于下一个请求(使用会话)。因此,请将模型错误存储在此处(如果需要,请将其妥善包装),并在登录页面操作中重定向后查找它。