此错误消息让我发疯。
我在 ASP.NET MVC v1.0 中使用 Html.ListBox 和 Html.DropDownList HtmlHelpers 时得到它。填充列表工作正常 - 我可以查看它们等 - 但是当我使用传递给 Controller 的 FormCollection 在模型中创建新记录以获取所选值时,会发生此错误。根据关于此问题的其他几篇文章,我尝试了几种不同的配置和代码安排 - 没有乐趣。
希望有人能告诉我这是否是一个已知问题,以便我可以继续我的生活!如有必要,宁愿不必发布代码,但可以根据要求发布。
哦,建议的解决方法/解决方案也很好;-)
蒂亚!
伯纳德。
好的,快速更新,我在下面的回复中发布了三条评论,澄清了我在这里所做的事情的详细信息。
我现在有另一个问题要分享 - 我已经尝试了 ScottGu 的替代推荐方法 - 实现 ModelView。所以,当我这样做时,它基本上是相同的场景,但是我得到一个“未将对象引用设置为对象的实例”。在我收到的同一个地方出现错误“没有带有'IEnumerable'类型的'Blah'键的ViewData项目。”。
我开始意识到这可能与 EF 的工作方式有关...
最佳答案
好吧,我显然是一个 EF/MVC 菜鸟......
虽然我实际实现了适当的异常管理解决了这个问题......异常消息(当我真正开始捕获它时)是“无法定义两个对象之间的关系,因为它们附加到不同的 ObjectContext 对象。”。所以我现在对所有数据访问使用相同的 ObjectContext,事情又回到了正轨。
感谢您的关心,下次我会问一个更聪明的问题 - 保证!
伯纳德。
关于asp.net-mvc - 没有类型为 'Blah' 的键为 'IEnumerable<SelectListItem>' 的 ViewData 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/874013/