我们正在使用MVC 3和.Net Framework 4.0。我们一起使用MVC和Webforms。对于某些用户,我们得到System.InvalidOperationException:传递给字典的模型项是'System.Web.Mvc.HandleErrorInfo'类型,但是这个字典需要一个'HeaderModel'类型的模型项。
常规页面如下所示:
@{
Layout = "~/Views/Shared/_HomeLayout.cshtml";
HeaderModel header = new HeaderModel();
ViewBag.Header = header;
}
<div id="mainAreaContainer">
....
</div>
在每个页面的顶部,我们创建标题模型对象并将其放入ViewBag。
在布局页面中,我们有:
@Html.Partial("_HeaderPartial", (HeaderModel)ViewBag.Header)
我们的布局页面不期望任何型号。
我们在标准常规视图上出现此错误,而不是错误视图。
我们有一个错误页面,错误页面有一个继承自HandleErrorInfo的模型。
据我所知,错误发生在常规视图中,而不是错误视图中。我们在global.asax Application_Error部分处理未处理的异常并重定向到错误页面。 我尝试通过从视图,控制器库和其他一些地方抛出异常来重新创建错误,但日志中出现的异常是什么。
奇怪的是,我们不理解在标准页面中生成HandleErrorInfo的真实错误。