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();
}
{
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 " }) %>
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代碼如下:

