【发布时间】:2011-11-21 13:31:37
【问题描述】:
我正在使用全局过滤器来处理 ASP.NET MVC 3(带有 Razor 视图)中的错误。但是,我的 shared/_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>
【问题讨论】:
-
您是否在错误视图中使用 HandleErrorInfo 模型?
-
不,整个视图都贴在上面了。
-
如果您不使用 HandleErrorInfo 中的任何值,是否需要强类型化错误视图?或者,布局是否需要强类型?这不会对任何其他强类型视图造成同样的问题吗?
-
需要强类型布局,以便我可以将站点设置等放入标准模板。我想我可以通过使用子操作以不同的方式做到这一点。
标签: asp.net-mvc-3