Html.DropDownList用于创建下拉菜单,语法是:
Html.DropDownList(string name, IEnumerable<SelectLestItem> selectList, string optionLabel, object htmlAttributes)
参数及其用法:string name:想要展示的数据的名称;
IEnumerable<SelectLestItem> selectList:下拉框中选项的数据;
string optionLabel:label标签的名称;(可省略)
object htmlAttributes:下拉框的一些HTML属性,如CSS等。(可省略)
另一种用法,看代码→:@Html.DropDownList("GenreId","请选择");
我们应该得到的HTML代码是:
<select name="GenreId"> //这里的name和参数一致
<option>请选择</option>
</select>
但是实际的代码是:
<select name="GenreId"> <option>请选择</option> <option value="1">数据</option> <option value="2">数据</option> </select>
原因是,在对应的controller中我们定义了一个ViewBag.GenerId = new SelectList{storeDB.Genres, "GenreId", "Name"},而select中选项的
数据可以传入明确的IEnumerable<SelectListItem>,也可以通过ViewBag或者ViewData隐式地传入,前提是需要相同的名称