asp.net-mvc - 没有类型为 'Blah' 的键为 'IEnumerable<SelectListItem>' 的 ViewData 项

标签 asp.net-mvc model-view-controller html-helper viewdata

此错误消息让我发疯。

我在 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/

相关文章:

asp.net-mvc - 如何使用另一个下拉列表过滤下拉列表的选项

asp.net - MVC 还是 Web 窗体?

c# - 为什么不使用 Html.EditorForModel()

c# - MVC无法从代码到html页面获取值

asp.net-mvc - Asp.Net Mvc 3客户端验证,属性生成

java - 编写快速 CRUD 应用程序的最快方法。当我有一些可重用的 Java 代码时?

javascript - Ember.js + Ember Data 在加载时返回 OPTIONS file:///C:/posts net::ERR_FILE_NOT_FOUND

java - 根据 MVC 设计将验证方法 GWT 放在哪里

html - MVC : Send parameters to method by a button

c# - 在 .NET MVC 5 中使用硬编码值填充下拉列表