MVC中使用DropDownList
类别:编程学习 浏览量:211
时间:2015-5-10 MVC中使用DropDownList
MVC中使用DropDownListASP.NET MVC中DropDownList与TextBox等控件不同,它使用的是select标记。它需要两个值:在下拉框中显示的列表,和默认选项。而自动绑定一次只能绑定一个属性,因此你需要根据需要选择是绑定列表,还是默认选项。
一、MVC中DropDownList的构造方法
public static string DropDownList(this HtmlHelper htmlHelper,
string name,
IEnumerable<SelectListItem> selectList,
string optionLabel,
IDictionary<string,object> htmlAttributes)
selectList参数说明
1、selectList包含
Items:用于在select标记中出现的列表,通常使用option标记表示。IEnumerable类型。
DataTextField:作为option的text项,string类型。
DataValueField:作为option的value项,string类型。
SelectedValues:选中项的value值,IEnumerable类型。
2、SelectList构造函数
public SelectList(IEnumerable items, string dataValueField, string dataTextField, object selectedValue)
: base(items, dataValueField, dataTextField, ToEnumerable(selectedValue)) {
SelectedValue = selectedValue;
}
二、MVC中DropDownList的使用方式
1、方式一
var users=GetUsers();//获取所有用户
var selectList=new SelectList(users,"Age","Name","24");
ViewBag.list=selectList;
//cshtml使用
@Html.DropDownList("list")
//说明
列表:users
显示的选项:"Age"
选项对应的值:"Name"
默认选中的项为 值为"24"的记录
方式二
//控制器中用:
ViewBag.ProvinceId = Provinces.Select(o => new SelectListItem
{
Selected = o.ProName == "河南省" ? true : false,
Text = o.ProName,
Value = o.ProID.ToString()
});
//前端用:这样配合就会有默认值
@Html.DropDownList("ProvinceId")
方式三
List<SelectListItem> items = new List<SelectListItem>();
items.Add(new SelectListItem { Text = "Kirin", Value = "29" });
items.Add(new SelectListItem { Text = "Jade", Value = "28", Selected = true});
items.Add(new SelectListItem { Text = "Yao", Value = "24"});
ViewBag.list = items;
//在View中使用
@Html.DropDownList("list")
方式四
List<SelectListItem> items = new List<SelectListItem>();
items.Add(new SelectListItem { Text = "Kirin", Value = "29" });
items.Add(new SelectListItem { Text = "Jade", Value = "28"});
items.Add(new SelectListItem { Text = "Yao", Value = "24"});
ViewBag.list = items;
ViewBag.selected = 24;
//View中使用
@Html.DropDownList("selected", ViewBag.list as IEnumerable<SelectListItem>)
//说明
将ViewBag.list绑定为下拉框,然后从ViewBag获取key为selected的项,并将下list中Value值与该项的值相等的SelecteListItem设为默认选中项。
方式五
public enum Unit
{
吨,
堆,
捆
}
var values = Enum.GetValues(typeof(Unit)).Cast<Unit>();
var items = from value in values
select new SelectListItem { Text = value.ToString(), Value = value.ToString()., Selected = value == Unit.堆 };
//view中使用
@Html.DropDownList("MovieType")
标签:MVC
您可能感兴趣
- mvc中Action前HttpPost的作用
- MVC中获取当前action、controller
- mvc中validateinput属性失效
- mvc中Scripts.Render、Styles.Render
- MVC使用HandleErrorAttribute自定义异常
- php框架初始化教程学习(PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解)
- mvc razor 输出html
- Asp.net Mvc模型绑定
- windows server 2008r2怎么安装(Windows Server2008 R2 MVC 环境安装配置教程)
- mysql mvcc 底层原理(浅析MySQL - MVCC)
- MVC过滤器的用法
- MVC Model验证
- mysql数据结构讲解(详解MySQL 数据库隔离级别与MVCC)
- ASP.NET mvc异常处理的方法
- php框架使用方法大全(PHP MVC框架中类的自动加载机制实例分析)
- mysql实现mvc(mysql的MVCC多版本并发控制的实现)
- 大众推出了第五代高尔夫GT(大众推出了第五代高尔夫GT)
- 换代在即,现在是抄底 7.5代 高尔夫的最佳时机吗(换代在即现在是抄底)
- 2020年大众7.5代高尔夫R终结特别版 最后的呐喊(2020年大众7.5代高尔夫R终结特别版)
- 七年前的这部剧有毒,全剧只有女主红到发紫,男主至今无人认识(七年前的这部剧有毒)
- 宋轶除了演过于曼丽,原来还演过一个青楼女子(宋轶除了演过于曼丽)
- 赵丽颖第一部当女主的戏,主角配角个个都是实力演员(赵丽颖第一部当女主的戏)
热门推荐
- sql server导入数据csv文件(大容量csv快速内导入sqlserver的解决方法推荐)
- windows安全策略设置sqlserver(SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7Administrator 的信)
- vue组件之间的通信(超详细的vue组件间通信总结)
- linux多线程怎么设置(超详细讲解Linux C++多线程同步的方式)
- dockerfile挂载目录(解决docker run中使用 ./ 相对路径挂载文件或目录失败的问题)
- css的4个基础选择器(详解css常用选择器)
- 怎样解除阿里云账号(如何注销阿里云账号 阿里云账号注销图文教程)
- pythonfor循环嵌套if语句(Python基础教程之if判断,while循环,循环嵌套)
- js实现CSS格式化和压缩
- 云服务器和物理服务器有什么区别(云服务器是什么?云服务器有什么优势?)