使用不同的ViewModel for ASP.NET MVC 3全局错误页面

时间:2011-11-21 13:31:37

标签: asp.net-mvc-3

我正在使用全局过滤器来处理ASP.NET MVC 3中的错误(使用Razor视图)。但是,我的共享/ _Layout视图需要一个我称之为PageViewModel的视图模型。

当我遇到错误时,共享/错误视图被编译 - 但是因为它引用了布局文件我得到了这个例外:

  

异常消息:传入字典的模型项是   输入'System.Web.Mvc.HandleErrorInfo',但这个字典需要一个   “ViewModels.PageViewModel”类型的模型项。

如何解决这个问题?

这是错误视图:

@model System.Web.Mvc.HandleErrorInfo

@{
    ViewBag.Title = "Error";
}

<h2>Sorry, an error occurred while processing your request.</h2>

1 个答案:

答案 0 :(得分:2)

你不能把错误放到ViewBag中,只是发送视图正常的PageViewModel?

这是MVC中的全局异常处理的一个很好的例子,How can I properly handle 404 in ASP.NET MVC?