asp.net-mvc – 没有带有’IEnumerable’类型键’Blah’的ViewData项

此错误消息让我疯了.

我在使用Html.ListBox和Html.DropDownList HtmlHelpers与ASP.NET MVC v1.0时得到它.填充列表工作正常 – 我可以查看它们等等 – 但是当我使用传递给Controller的FormCollection创建模型中的新记录来获取所选值时,会发生此错误.我已经尝试过几个不同的配置和代码安排,就其他几个帖子而言 – 没有快乐.

希望有人可以告诉我这是否是一个已知的问题,以便我可以继续我的生活!如果需要,不希望发布代码,但如果需要可以.

哦,建议的解决方法/解决方案也不错;-)

TIA!

伯纳德.

好的,快速更新,我已经在回复中发布了三条评论,清除了我在这里做的事情.

我现在要分享另一个问题 – 我已经尝试过ScottGu的另一种推荐方法 – 实现ModelView.因此,当我这样做时,它基本上是相同的场景,但我得到一个“对象引用未设置为对象的实例”.在我得到的同一个地方的错误“没有带有’IEnumerable’类型键’Blah’的ViewData项.”

我开始认为这可能与EF的运作方式有关…

最佳答案 好吧,sooo我显然是EF / MVC noob …

虽然问题是通过我实际实现正确的异常管理来解决的…异常消息(当我实际开始捕获它时)是“两个对象之间的关系无法定义,因为它们附加到不同的ObjectContext对象.”.所以我现在使用相同的ObjectContext进行所有数据访问,事情又回到正轨.

感谢关心,下次我会有一个更聪明的问题 – 承诺!

伯纳德.

点赞