我的代码在dev中运行良好,但是当我发布到测试服务器时,一个屏幕出错:
传递到字典中的模型项的类型是' System.Collections.Generic.List 1[Intranet.ViewModels.EditingRequestsViewModel]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1 [Intranet.ViewModels.ITRequestsViewModel]'。
这是控制器代码,按照预期,它使用EditingRequestsViewModel:
public ActionResult Index()
{
var myList = db.Database.SqlQuery<EditingRequestsViewModel>("EXEC [DBO].[spGetRequests]").ToList();
return View(myList);
}
这是视图的第一行:
@model IEnumerable<Intranet.ViewModels.EditingRequestsViewModel>
为什么这个相同的代码在发布到测试服务器时会期望不同的模型?我已经尝试过#34; Clean Solution,&#34; &#34;重建解决方案,&#34;删除Dll,并使用调试和发布配置重新部署(重复)。没有变化。
我应该注意到,在此之前,我将我的代码检查到了TFS,并且在我获取Project文件的服务器版本时发生了冲突。这引起了一些问题&#34;编辑&#34;控制器没有被看到(它是新的)但我修复了这一切,一切正常。
文件中是否有隐藏的引用,可能会被抬起来?
答案 0 :(得分:0)
试着尝试改变
@model IEnumerable<Intranet.ViewModels.EditingRequestsViewModel>
到
@model List<Intranet.ViewModels.EditingRequestsViewModel>