HomeController控制器中的Index动作代码如下:

        public ActionResult 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代码如下:

使用Html.DropDownList和Html.ListBox时注意事项_控件