HomeController控制器中的Index动作代码如下:
{
List<SelectListItem> list = new List<SelectListItem>()
{
new SelectListItem(){Text="张三",Value="001"},
new SelectListItem(){Text="李四",Value="002"},
new SelectListItem(){Text="王五",Value="003"},
new SelectListItem(){Text="赵六",Value="004"},
new SelectListItem(){Text="田七",Value="005",Selected=true}
};
ViewData["nameList"] = list;
return View();
}
对应的View,将数据绑定到View的Html.DropDownList和Html.ListBox上
SelectList list=ViewData["nameList"] as SelectList;
%>
<!--注意使用DropDownList或ListBox指定第一个参数name,
会当成键自动到ViewData的集合ViewDataDirectory中去搜索对应的值,
搜索不到则报异常.所以这里name参数必须和ViewData所存放数据的键值一样-->
<%=Html.DropDownList("nameList", list)%>
<!--直接指定名称也可以完成数据绑定,因为前面说了会到ViewDataDirectory去搜索-->
<%=Html.ListBox("nameList")%>
<!--由于指定的同一个nameList作为html控件的id和name所以我们要修改其id,因为在html中id通常是唯一的-->
<%=Html.ListBox("nameList", list, new { id="myNameList"})%>
生成的HTML代码如下: