Asp.Net MVC绑定DropDownList等控件
2018-08-18 11:20
459 查看
测试环境:vs2013、.Net4.5、mvc5
一、Asp.Net MVC绑定控件原理说明
以Html.TextBox为例
/// <param name="name">名称,对应name和ID</param> /// <param name="value">value值,如果value为null或不存在,那么此时value自动等于name。获取的顺序为:先从ViewData中查找是否存在键值为name值的项,如果ViewData中没有则从ViewData.Model中查找是否存在名称为name值的属性,如果仍然不存在,则返回null。</param> /// <returns></returns> public static MvcHtmlString TextBox(string name, object value);
控制器代码:
ViewData["name"] = "张三";
视图代码:
@Html.TextBox("name")
编译代码:
<input id="name" name="name" type="text" value="张三" /> //把ViewData["name"]值自动绑定到value
同理可绑定的还有:label、RadioButton、CheckBox、TextArea、Hidden等input标签控件
DropDownList与texttbox等原理一样,但是DropDownList的选项需要是集合而不是一个字符串值,所以需要用一下方法绑定
二、Asp.Net MVC绑定DropDownList
1、方法1:List<SelectListItem>常规绑定法
controller代码:
List<SelectListItem> items = new List<SelectListItem>(); items.Add(new SelectListItem { Text = "篮球", Value = "1" }); items.Add(new SelectListItem { Text = "足球", Value = "2",Selected=true }); items.Add(new SelectListItem { Text = "台球", Value = "3" }); ViewData["ddlQiu"] = items;
view代码:
@Html.DropDownList("ddlQiu")
编译代码:
<select id="ddlQiu" name="ddlQiu"> <option value="1">篮球</option> <option selected="selected" value="2">足球</option> <option value="3">台球</option> </select>
2、方法2:SelectList对象绑定法
ASP.NET MVC为DropDownList和ListBox(都在html中使用select标记)准备了一个辅助类型:SelectList。
SelectList继承自MultiSelectList,而后者实现了IEnumerable<SelectListItem>。也就是说,SelectList可以直接作为Html.DropDownList方法的第二个参数。
MultiSelectList包含四个属性,分别为:
- Items:用于在select标记中出现的列表,通常使用option标记表示。IEnumerable类型。
- DataTextField:作为option的text项,string类型。
- DataValueField:作为option的value项,string类型。
- SelectedValues:选中项的value值,IEnumerable类型。
controller代码:
var listCity = db.City.Where(x => x.ParentId == 0); var ddlList = new SelectList(listCity, "id", "name", "9"); ViewData["ddlCity"] = ddlList;
voew代码:
@Html.DropDownList("ddlCity")
编译代码:
<select id="ddlCity" name="ddlCity"> <option value="1">北京</option> <option value="2">天津</option> <option value="3">河北省</option> <option value="4">山西省</option> <option value="5">内蒙古自治区</option> <option value="6">辽宁省</option> <option value="7">吉林省</option> <option value="8">黑龙江省</option> <option selected="selected" value="9">上海</option> <option value="10">江苏省</option> <option value="11">浙江省</option> <option value="12">安徽省</option> <option value="13">福建省</option> <option value="14">江西省</option> <option value="15">山东省</option> <option value="16">河南省</option> <option value="17">湖北省</option> <option value="18">湖南省</option> <option value="19">广东省</option> <option value="20">广西壮族自治区</option> <option value="21">海南省</option> <option value="22">重庆</option> <option value="23">四川省</option> <option value="24">贵州省</option> <option value="25">云南省</option> <option value="26">西藏自治区</option> <option value="27">陕西省</option> <option value="28">甘肃省</option> <option value="29">青海省</option> <option value="30">宁夏回族自治区</option> <option value="31">新疆维吾尔自治区</option> <option value="33">香港特别行政区</option> <option value="34">澳门特别行政区</option> <option value="3525">国外</option> </select>
//两种方法都可以,喜欢哪个用哪个
相关文章推荐
- [ASP.NET MVC]通过对HtmlHelper扩展简化“列表控件”的绑定
- ASP.NET中DropDownList控件的简单使用--DDL绑定数据库表中值,选择DDL中值直接检索数据
- [ASP.NET MVC]通过对HtmlHelper扩展简化“列表控件”的绑定
- ASP.NET中DropDownList控件的数据绑定的C#语言描述
- asp.net mvc 将Enum绑定在DropDownList了
- ASP.net中在gridview中绑定dropdownlist控件
- ASP.NET中DropDownList下拉框列表控件绑定数据的4种方法
- ASP.NET中DropDownList控件的数据绑定的C#语言描述
- ASP.NET中DropDownList下拉框列表控件绑定数据的4种方法
- asp.net mvc 将Enum绑定在DropDownList了
- ASP.NETmvc5下使用DropDownList的使用 ,和asp.net里的DropDownList控件的方法
- asp.net mvc 2 简简单单做开发 自定义DropdownList控件
- asp.net mvc Dropdownlist的使用绑定
- Asp.net Webform 数据源绑定控件的扩展(懒人的办法):DropDownList
- ASP.NET MVC DropDownList数据绑定及使用详解
- ASP.NET MVC- DropDownList绑定
- asp.net mvc 绑定DropDownList或select
- asp.net ajaxtoolkit CascadingDropDown从数据库中读取数据绑定到DropDownList控件上
- asp.net2.0中Gridview控件中如何绑定dropdownlist控件-.NET技术/ASP.NET