Html.DropDownListFor的用法总结
在ASP.NET MVC中可以用DropDownListFor的方式来让用户选择已定列表中的一个数值。
注:重点是要将DropDownList的数据源转换成IEnumerable<SelectListItem>类型的结合;
SelectListItem类在System.Web.MVC命名空间下,其成员如下:
- public bool Disabled { get; set; }
- public SelectListGroup Group { get; set; }
- public bool Selected { get; set; }
- public string Text { get; set; }
- public string Value { get; set; }
//处理State,将IEnumerable<State>集合转换为IEnumerable<SelectListItem>集合
public IEnumerable<SelectListItem> GetStates()
{
return _usStateService.GetStates().OrderBy(c => c.StateAbbreviation).Select(state => new SelectListItem
{
Text = state.StateAbbreviation,
Value = state.StateAbbreviation
});
}
使用如下示例:
- 首先我们要定义一个Model,用户在DropDownList中选择指定的值付给属性ReadyTimeHour
public class EricSunModel
{
public string ReadyTimeHour { get; set; }
}
- Model定义完毕之后,接下来处理Controller的逻辑
- 这里使用ViewData来记录DropDownList中所要显示的所有列表数值
public ActionResult EricSunAction()
{
EricSunModel esModel = new EricSunModel();
esModel.ReadyTimeHour = ""; GenerateReadyTimeViewData(); return View(esModel);
} private void GenerateReadyTimeViewData()
{
ViewData["HourList"] = GetTimeHourList();
} //这里要对集合进行处理,因为第二个参数必须是IEnumerable<SelectListItem> 类型的集合
private List<SelectListItem> GetTimeHourList()
{
List<SelectListItem> hourList = new List<SelectListItem>(); for (int i = ; i < ; i++)
{
if (i < )
{
hourList.Add(new SelectListItem { Text = "" + i.ToString(), Value = "" + i.ToString() });
}
else
{
hourList.Add(new SelectListItem { Text = i.ToString(), Value = i.ToString() });
}
} return hourList;
}
- 接下来我们在View中可以用下面一行代码来绑定DropDownList
- 注:第一个参数为绑定Model中的属性,即-->要为此属性赋值
- 注:第二个参数为DropDownList的所有数据源,并且必须是IEnumerable<SelectListItem>类型的集合
@Html.DropDownListFor(m => m.ReadyTimeHour, ViewData["HourList"] as List<SelectListItem>)
- 效果如下

- 如果我们想在DropDownList中的最顶端添加一个默认值的话,添加第三个参数
@Html.DropDownListFor(m => m.ReadyTimeHour, ViewData["HourList"] as List<SelectListItem>, "---Select---")

Html.DropDownListFor的用法总结的更多相关文章
- DropDownListFor的用法
Asp.Net MVC中DropDownListFor的用法 在Asp.Net MVC中可以用DropDownListFor的方式来让用户选择已定列表中的一个数值.用法不复杂,这里简单做一个记录. ...
- Asp.Net MVC中DropDownListFor的用法(转)
2016.03.04 扩展:如果 view中传入的是List<T>类型 怎么使用 DropList 既然是List<T> 那么我转化成 T List<T>的第一个 ...
- Asp.Net MVC中DropDownListFor的用法
在Asp.Net MVC中可以用DropDownListFor的方式来让用户选择已定列表中的一个数值.用法不复杂,这里简单做一个记录. 首先我们要定义一个 Model ,用户在 DropDownLis ...
- 转:Asp.Net MVC中DropDownListFor的用法
在Asp.Net MVC中可以用DropDownListFor的方式来让用户选择已定列表中的一个数值.用法不复杂,这里简单做一个记录. 首先我们要定义一个 Model ,用户在 DropDownLis ...
- 下拉框Html.DropDownList 和DropDownListFor 的经常用法
一.非强类型: Controller: ViewData["AreId"] = from a in rp.GetArea() ...
- ASP.NET MVC HtmlHelper用法集锦
ASP.NET MVC HtmlHelper用法集锦 在写一个编辑数据的页面时,我们通常会写如下代码 1:<inputtype="text"value='<%=View ...
- MVC HtmlHelper用法大全
MVC HtmlHelper用法大全HtmlHelper用来在视图中呈现 HTML 控件.以下列表显示了当前可用的一些 HTML 帮助器. 本主题演示所列出的带有星号 (*) 的帮助器. ·Actio ...
- MVC中HtmlHelper用法大全参考
MVC中HtmlHelper用法大全参考 解析MVC中HtmlHelper控件7个大类中各个控件的主要使用方法(1) 2012-02-27 16:25 HtmlHelper类在命令System.Web ...
- C#枚举最优雅的用法
public enum AbilityLevel { /// <summary> /// Indicates that the individual has a general knowl ...
随机推荐
- 【BZOJ】1668: [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富(dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=1668 裸dp.. f[i][j]表示i行j列最大能拿到 f[i][j]=max(f[i+1][j-1 ...
- 我在Facebook学到的10个经验
1.坚持你的远景,但要对细节灵活. 作为一个领导者,你需要依赖你自己的远景(至少在你负责的业务领域内)而那些和你一起或为你工作的人将依赖你的远见.什么是远景?就是对最终状态的一种描述.是你需要你的团队 ...
- 理解javascript函数调用和“this”
http://blog.csdn.net/littlechang/article/details/8180550
- Ubuntu 16.04 LTS 完善解决亮度调整
环境: ubuntu16.04 lts acer aspire 4752G i5-2450M 内容来源:点击这里 ubuntu无法调整屏幕亮度,对笔记本来说很耗电,同时也很刺眼,因为它是默认以最大亮度 ...
- WinFrom 第三方控件 TeleRik控件
1.首先从工具-拓展与应用中下载安装 TeleRik WinFroms VsExtensions TeleRik dll文件 2.工具箱控件 将Telerik控件更新过来 3.新建一个 ...
- 苹果使用蓝汛CDN网络分发ios8
2014年9月18日凌晨,苹果公司公布了全新的ios8系统正式版.不出所料的引发了空前高涨的"果粉"下载热潮.引爆整个苹果界. ios8被业内称为"自Ap ...
- 使用openstack部署云计算服务环境
环境: 系统 硬盘 IP hostname redhat 7 sda 20G 192.168.0.70 openstack.com 64位 sdb 20G 配置网卡 [root@opens ...
- 点击input选中文本
选文本: $(".unline-ipt").click(function () { $(this).focus().select(); this.selectionStart = ...
- JZOJ.5289【NOIP2017模拟8.17】偷笑
Description berber走进机房,边敲门边喊:“我是哔哔”CRAZY转过头:“我警告你,哔哔刚刚来过!”“呵呵呵呵……”这时,哔哔站了起来,环顾四周:“你们笑什么?……”巧了,发出笑声的人 ...
- Objective-C内存管理基础
2011-05-11 15:45 朱祁林 http://zhuqil.cnblogs.com 字号:T | T 本文我们将介绍<Objective-C内存管理基础>,在iOS开发中,内存管 ...