[英]MVC2 ViewData Problems
我试图通过ViewData将一些项目的列表传递给视图,以创建一个下拉列表。 这应该不太困难,但是我是MVC的新手,所以我可能缺少明显的东西。
控制器将列表分配给ViewData:
ViewData["ImageLocatons"] = new SelectList(gvr.ImageLocations);
然后视图尝试将其呈现到下拉列表中:
<%= Html.DropDownList("Location", ViewData["ImageLocations"] as SelectList) %>
但是,当我运行它时,出现以下错误: 没有类型为“ IEnumerable”的ViewData项目具有键“ Location”。
任何想法为什么这不起作用? 此外,它是否不应该查找键“ ImageLocations”而不是位置?
如果您使用:
ViewData["Location"] = new SelectList(gvr.ImageLocations);
和
<%= Html.DropDownList("Location") %>
您的生活会轻松很多。
在示例中设置ViewData时,还要检查错字(缺少i
)(ImageLocatons => ImageLocations)。 这将导致您传递给DropDownList的第二个参数为null
。 这将导致MVC引擎搜索位置。
您的ViewData是否可能被重置?
尝试在发出下拉列表的行的视图中放置一个断点。
然后快速查看ViewData [“ ImageLocations”]。
当视图尝试使用它时,请确保此处有一个值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.