Model view controller MVC2视图数据问题
我试图通过ViewData将一些项目的列表传递给视图,以创建一个下拉列表。这应该不会太难,但我是MVC新手,所以我可能遗漏了一些明显的东西 控制器将列表指定给ViewData:Model view controller MVC2视图数据问题,model-view-controller,asp.net-mvc-2,Model View Controller,Asp.net Mvc 2,我试图通过ViewData将一些项目的列表传递给视图,以创建一个下拉列表。这应该不会太难,但我是MVC新手,所以我可能遗漏了一些明显的东西 控制器将列表指定给ViewData: ViewData["ImageLocatons"] = new SelectList(gvr.ImageLocations); 视图尝试将其渲染到下拉列表中: <%= Html.DropDownList("Location", ViewData["ImageLocations"] as SelectList) %
ViewData["ImageLocatons"] = new SelectList(gvr.ImageLocations);
视图尝试将其渲染到下拉列表中:
<%= Html.DropDownList("Location", ViewData["ImageLocations"] as SelectList) %>
但是,当我运行它时,会出现以下错误:
没有具有键“Location”的“IEnumerable”类型的ViewData项
你知道为什么这样不行吗?此外,它不应该寻找关键的“ImageLocations”而不是位置吗?如果您使用:
ViewData["Location"] = new SelectList(gvr.ImageLocations);
及
你的生活会轻松得多
在您的示例中设置ViewData(ImageLocatons=>ImageLocations)时,还要检查输入错误(缺少
i
)。这会导致传递给DropDownList的第二个参数为null
。这将导致MVC引擎搜索位置。您的ViewData是否可能已重置
尝试将视图中的断点放在您发出下拉列表的行上。然后快速查看ViewData[“ImageLocations”]
当视图试图使用它时,确保这里有一个值。Wow。我有一个拼写错误。我正在用你建议的另一种方法。谢谢!接得好+1用于查看输入错误。即使在你指出之后,我也不得不再读几遍:-)
<%= Html.DropDownList("Location") %>