天天看点

Asp.net MVC3 关于@Html中ListBox、DropDownList使用

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"] 获取多个选择值时,中间以","号隔开返回

    [email protected]()

    通过使用指定的 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"})
           

返回下来列表框