我开始研究mvc,尝试添加下拉列表,进行构建
<%= Html.DropDownList("ddl") %>
但显示错误
没有类型为'IEnumerable'的ViewData项具有键'ddl'
为什么呢?我使用简单的代码,只传递name参数,为什么会出错?
答案 0 :(得分:1)
实际上Html.DropDownList
是一个HTML助手,可以创建html select
元素。当您传递ddl
作为参数时,它期望获得一个数组或列表或类似的东西(实现IEnumerable
接口的对象)来填充下拉列表。试试这样:
在控制器中:
ViewData["ddl"]=new string[]{'Jan', 'Feb','Mar','Apr'.......'Dec'};
然后它将创建一个包含给定值的select元素。有关更多信息,请阅读this article。
答案 1 :(得分:0)
Here是在ASP.NET-MVC中添加DropDownList的示例。你需要在ViewData中提供一个'IEnumerable'类型的项目和一个键'dll',如错误所示。
答案 2 :(得分:0)
"There is no ViewData item of type 'IEnumerable'"
这意味着帮助方法期望类型为'IEnumerable'
的项目,例如List<>
,其ID为'ddl'
如果您尝试显示包含来自某些静态源的项目的DropDownList,则可以使用以下方法:
// create new IEnummerable
List<string> ddl =
new List<string>(new [] {"item1","item2" };
// add Items
ddl.Add("Item1");
ddl.Add("Item2");
// return View which holds ddl now
ViewData["ddl "] = ddl ;
return View();
如需了解更多信息,请查看