ListBox,DropDownList都是通过使用指定的 HTML 帮助器和窗体字段的名称,返回单选 select 元素。
同属于SelectExtensions 类
1、@Html.ListBox() 通过使用指定的 HTML 帮助器、窗体字段的名称、指定的列表项和指定的 HTML 特性,返回多选 select 元素 主要参数有 string name, //要返回的窗体字段的名称 IEnumerable<SelectListItem> selectList, // 一个用于填充下拉列表的 SelectListItem 对象的集合。 IDictionary<string, Object> htmlAttributes // 一个对象,其中包含要为该元素设置的 HTML 特性。可以设置宽度等样式
@{ List<string > listBox= new List< string >(); listBox.Add("第一" ); listBox.Add("第二" ); listBox.Add("第三" ); } @{ List<string > listBoxSelectd= new List< string >(); listBoxSelectd.Add("第一" ); listBoxSelectd.Add("第二" ); }
例:绑定listBox信息,并初始以“第二”为选中状态,指定一个选中状态
调用:
@Html.ListBox( "listName" , new SelectList(listBox, "第二" ), new { style= "width:200px" }) 输出: <select id="listName" multiple= "multiple" name= "listName" style= "width:200px" > <option>第一</option> <option selected="selected" >第二</option> <option>第三</option> </select>
用new MultiSelectList()可以指定返回多个选中的值
@Html.ListBox( "moreListName" , new MultiSelectList(listBox, listBoxSelectd)) 输出: <select id="moreListName" multiple= "multiple" name= "moreListName" > <option selected="selected" >第一</option> <option selected="selected" >第二</option> <option>第三</option> </select>
获取选中项:
在页面提交的时候,用request或者FormCollection collection对象进行值的获取
如Request["listName"]、collection["moreListName"] 获取多个选择值时,中间以","号隔开返回
b.@Html.ListBoxFor()
通过使用指定的 HTML 帮助器、窗体字段的名称、指定的列表项和指定的 HTML 特性,返回多选 select 元素
常用方法:
@Html.ListBoxFor(mo => mo.name, new SelectList(Model.Students, "ID" , "Name" ), new {style= "width:200px" })
Model.Students:为输出的list对象
ID,Name分别为对象中的两个属性
2、@Html.DropDownList()
返回select的下拉列表框
使用例子:
@Html.DropDownList( "ddlValue" , new SelectList( new [] { "One" , "Two" }, "Two" ), new { style= "width:200px" }) 输出: <select id="ddlValue" name= "ddlValue" style= "width:200px" > <option>One</option> <option selected="selected" >Two</option> </select>
@Html.DropDownListFor()
用法和@Html.ListBoxFor()类似,主要是针对强类型
@Html.DropDownListFor(mo => mo.name, new SelectList(Model.Students, "ID" , "Name" ), new {style= "width:200px" })
返回下来列表框