与MVC3相比,差别很大:

表现形式一:

  1. public ActionResult Main()
  2. {
  3. List<SelectListItem> items = new List<SelectListItem>();
  4. items.Add(new SelectListItem { Text = "Action", Value = "" });
  5. items.Add(new SelectListItem { Text = "Comedy", Value = "" });
  6. ViewBag.MovieType = items;
  7. return View();
  8. }
  1. <h2>@Html.DropDownList("MovieType")</h2>

表现形式二:

  1. public enum Unit
  2. {
  3. 吨,
  4. 堆,

  5. }
  6. var values = Enum.GetValues(typeof(Unit)).Cast<Unit>();
  7. var items = from value in values
  8. select new SelectListItem { Text = value.ToString(), Value = value.ToString()., Selected = value == Unit.堆 };
  1. @Html.DropDownList("MovieType")

使用方法扩展:

  1. /// <summary>
  2. /// 在MVC开发中我们常常用到枚举类型,通常枚举类型在使用中是是用DropDownList,每次转换不是什么好办法。 通过扩展加以实现此功能。
  3. /// </summary>
  4. public static class ExSelectListItem
  5. {
  6. public static IEnumerable<SelectListItem> ToSelectListItem(this Enum valueEnum)
  7. {
  8. var values = Enum.GetValues(valueEnum.GetType());
  9. var result= from int value in values select new SelectListItem { Text =Enum.GetName(valueEnum.GetType(),value), Value = value.ToString() };
  10. return result;
  11. }
  12. public static List<SelectListItem> ToSelectListItem(this Enum valueEnum, string selectName)
  13. {
  14. return (from int value in Enum.GetValues(valueEnum.GetType())
  15. select new SelectListItem
  16. {
  17. Text = Enum.GetName(valueEnum.GetType(), value),
  18. Value = Enum.GetName(valueEnum.GetType(), value),
  19. Selected = Enum.GetName(valueEnum.GetType(), value) == selectName ? true : false
  20. }).ToList();
  21. }
  22. }
  1. var items = Unit.堆.ToSelectListItem("捆");
  2. ViewBag.Unit = items;

表现形式三(编辑、更新有默认值):

  1. //下拉菜单
  2. List<SelectListItem> list = new List<SelectListItem>()
  3. {
  4. new SelectListItem(){Value="Man",Text="Man"},
  5. new SelectListItem(){Value="Female",Text="Female"}
  6. };
  7. ViewBag.Gender = new SelectList(list, "Value", "Text",entity.Gender);
  1. @Html.DropDownList("Gender", null, new { @class = "form-control" })

MVC4 下DropDownList使用方法的更多相关文章

  1. MVC4 下DropDownList使用方法(转)

    与MVC3相比,差别很大: 表现形式一: public ActionResult Main() { List<SelectListItem> items = new List<Sel ...

  2. 快速入门系列--WebAPI--04在老版本MVC4下的调整

    WebAPI是建立在MVC和WCF的基础上的,原来微软老是喜欢封装的很多,这次终于愿意将http编程模型的相关细节暴露给我们了.在之前的介绍中,基本上都基于.NET 4.5之后版本,其System.N ...

  3. 在Repeater中使用DropDownList的方法

    在Repeater中使用DropDownList的方法 以下代码并不完整,只记录了关键的方法 aspx代码中 假设这是一个用户管理的系统的模型,有一个下拉菜单来操作用户状态 <asp:Repea ...

  4. ASP.NET Web API实践系列02,在MVC4下的一个实例, 包含EF Code First,依赖注入, Bootstrap等

    本篇体验在MVC4下,实现一个对Book信息的管理,包括增删查等,用到了EF Code First, 使用Unity进行依赖注入,前端使用Bootstrap美化.先上最终效果: →创建一个MVC4项目 ...

  5. svn服务器地址变换以后,mac下的处理方法

    svn服务器地址变换之后,mac下的处理方法 svn服务器地址变换之后,mac下的处理方法 1.进入终端,进入项目所在的文件夹下: cd 项目位置/ 2.查看svn信息 svn info 3.输出结果 ...

  6. 重写类的Equals以及重写Linq下的Distinct方法

    当自定义一个类的时候,如果需要用到对比的功能,可以自己重写Equals方法,最整洁的方法是重写GetHashCode()方法. 但是,这个方法只适用于对象自身的对比(如if(a==b))以及字典下的C ...

  7. opencv直线检测在c#、Android和ios下的实现方法

    opencv直线检测在c#.Android和ios下的实现方法 本文为作者原创,未经允许,不得转载 :原文由作者发表在博客园:http://www.cnblogs.com/panxiaochun/p/ ...

  8. DAY2 Python 标准库 -> Getpass 模块 -> 命令行下输入密码的方法.

    getpass 模块 getpass 模块提供了平台无关的在命令行下输入密码的方法. getpass(prompt) 会显示提示字符串, 关闭键盘的屏幕反馈, 然后读取密码. 如果提示参数省略, 那么 ...

  9. 第一零三天上课 PHP TP框架下控制器的方法分离

    (1)配置信息 修改配置文件->Config.php (配置后,原先的控制方法无效) 'ACTION_BIND_CLASS' => TRUE, // 控制器方法分离 (2)在Control ...

随机推荐

  1. 【Android测试】【第九节】MonkeyRunner—— 初识

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4836815.html 不得不说两句,过了这么久才再次更新博 ...

  2. asp.net实现关闭当前网页

    asp.net实现关闭当前网页功能:Response.Write("<script>window.close();</script>");// 会弹出询问是 ...

  3. php——n维数组的遍历——递归

    <?php /**** ****/function digui($arr){    foreach($arr as $key => $value)    {        if(is_ar ...

  4. 关于Bitcode的探索

    Bitcode概述         Bitcode is an intermediate representation of a compiled program. Apps you upload t ...

  5. HTML文件基本结构

    固定结构: <html> <head>...</head> <body>...</body> </html>1,<html ...

  6. struts.xml 配置详解

    struts.xml是我们在开发中利用率最高的文件,也是Struts2中最重要的配置文件. 一下分别介绍一下几个struts.xml中常用到的标签 1.<include> 利用includ ...

  7. linux pipe

    1. 函数说明 pipe(建立管道): 1) 头文件 #include<unistd.h> 2) 定义函数: int pipe(int filedes[2]); 3) 函数说明: pipe ...

  8. magento cache,magento index

    "Magento后台作修改,Magento前台没变化""Magento属性更新了,Magento前台没反应"如果你碰到了以上两种情况,或者看到截图中的提示: 您 ...

  9. Java学习-009-文件名称及路径获取实例及源代码

    此文源码主要为应用 Java 获取文件名称及文件目录的源码及其测试源码.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-2-3 00:02:27,请知悉. Java获取文件名称的 ...

  10. 【转】TableLayout(表格布局)

    转自:http://www.cnblogs.com/zhangs1986/archive/2013/01/17/2864536.html TableLayout(表格布局) 表格布局模型以行列的形式管 ...