ASP .NET HTML.DropDownListFor
我认为这行代码不起作用。它不断抛出此错误:
具有“Material.Modelo.Categoria.Familia_Id”键的 ViewData 项的类型为“System.Int32”,但必须为“IEnumerable”类型
<%= Html.DropDownListFor(model => model.Material.Modelo.Categoria.Familia_Id,
Model.Familias,
" -- Seleccione -- ")%>
Model.Familias 实际上是一个 SelectList,而 model.Material.Modelo.Categoria.Familia_Id 是一个整数。
有什么想法吗?
谢谢
I have this line of code in my view but it doesn't work. It keeps throwing this error:
The ViewData item that has the key 'Material.Modelo.Categoria.Familia_Id' is of type 'System.Int32' but must be of type 'IEnumerable'
<%= Html.DropDownListFor(model => model.Material.Modelo.Categoria.Familia_Id,
Model.Familias,
" -- Seleccione -- ")%>
Model.Familias is actually a SelectList and model.Material.Modelo.Categoria.Familia_Id is an integer.
Any ideas?
Thnx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Html.DropDownListFor 期望传递一个集合(实现 IEnumberable 的东西),以便它可以构建这些项目的下拉列表。
您向它传递一个整数。
假设您有一个只有一项的下拉菜单,然后将该整数添加到某种类型的集合中并传递该集合。列表或任何其他实现 IEnumerable 的集合都可以正常工作。
查看这篇文章...
填充 ASP.NET MVC DropDownList
...了解详细信息关于如何填充其中之一。
Html.DropDownListFor expects to be passed a collection (something that imlements IEnumberable) so that it can build a drop down of these items.
You're passing it a single integer.
Assuming you have a drop down with just one item in it then add that integer to a collection of some sort and pass the collection. A List, or any other collection implementing IEnumerable, will work fine.
Check out this post...
Populating ASP.NET MVC DropDownList
... for details on how to populate one of these.