【发布时间】:2012-10-20 03:46:41
【问题描述】:
从这里阅读:ASP.NET MVC
Action SelectCategory 已在控制器内部创建 -
public ActionResult SelectCategory() {
List<SelectListItem> items = new List<SelectListItem>();
items.Add(new SelectListItem { Text = "Action", Value = "0"});
items.Add(new SelectListItem { Text = "Drama", Value = "1" });
items.Add(new SelectListItem { Text = "Comedy", Value = "2", Selected = true });
ViewBag.MovieType = items;
return View();
}
我无法理解下一行中的数据绑定。
@Html.DropDownList("MovieType")
虽然以类似的方式绑定数据,
@Html.DropDownList("IdList");
我收到以下错误-
没有“IEnumerable”类型的 ViewData 项 有键“IdList”。
控制器动作:
public ActionResult SelectId()
{
List<SelectListItem> items = new List<SelectListItem>();
items.Add(new SelectListItem { Text = "MyId1", Value = "MyId1", Selected=true });
items.Add(new SelectListItem { Text = "MyId2", Value = "MyId2" });
ViewBag.IdList = items;
return View();
}
我错过了什么?感谢您的帮助!
【问题讨论】:
-
一切似乎都很好。也许你应该试试@Html.DropDownList(ViewBag.IdList);
-
Html.DropDownList 有 8(八)个重载,允许您指定所有内容,包括要在选项中显示的列表。请在此处查看 Html.DropDownList 的文档
-
试试这个 Html.DropDownList("anyname",ViewBag.IdList) - 这个构造函数接受两个参数 - 名称和你想要显示的列表
标签: asp.net-mvc