MVC4 下DropDownList使用方法

简介: 与MVC3相比,差别很大: 表现形式一: public ActionResult Main() { List items = new List(); items.

与MVC3相比,差别很大:

表现形式一:

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

 表现形式二:

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.堆 };
@Html.DropDownList("MovieType")

使用方法扩展:

/// <summary>
/// 在MVC开发中我们常常用到枚举类型,通常枚举类型在使用中是是用DropDownList,每次转换不是什么好办法。 通过扩展加以实现此功能。
/// </summary>
public static class ExSelectListItem
{
 public static IEnumerable<SelectListItem> ToSelectListItem(this Enum valueEnum)
 {
  var values = Enum.GetValues(valueEnum.GetType());
  var result= from int value in values select new SelectListItem { Text =Enum.GetName(valueEnum.GetType(),value), Value = value.ToString() };
 return result;
   }
   public static List<SelectListItem> ToSelectListItem(this Enum valueEnum, string selectName)
   {
     return (from int value in Enum.GetValues(valueEnum.GetType())
             select new SelectListItem
                    {
                        Text = Enum.GetName(valueEnum.GetType(), value),
                        Value = Enum.GetName(valueEnum.GetType(), value),
                        Selected = Enum.GetName(valueEnum.GetType(), value) == selectName ? true : false
                    }).ToList();
        }
    }
var items = Unit.堆.ToSelectListItem("");
ViewBag.Unit = items;

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

 //下拉菜单
            List<SelectListItem> list = new List<SelectListItem>()
            {
                new SelectListItem(){Value="Man",Text="Man"},
                new SelectListItem(){Value="Female",Text="Female"}
            };
            ViewBag.Gender = new SelectList(list, "Value", "Text",entity.Gender);

 

 @Html.DropDownList("Gender", null, new { @class = "form-control" })

 

学习交流群:364976091
相关文章
|
6月前
|
存储 前端开发 JavaScript
最简单的ExtJS4的MVC实例
最简单的ExtJS4的MVC实例
31 0
|
前端开发 Java 应用服务中间件
Spring MVC-05循序渐进之数据绑定和form标签库(下) 实战从0到1
Spring MVC-05循序渐进之数据绑定和form标签库(下) 实战从0到1
725 0
|
Web App开发 前端开发
MVC进阶学习--HtmlHelper控件解析(二)
1.InputExtensions类      InputExtensions类主要有5种类型的扩展方法,分别用于CheckBox控件,Hidden控件,Pass控件,RadionButton控件,TextBox控件2.
866 0
|
Web App开发 前端开发 C#
MVC进阶学习--HtmlHelper控件解析(四)
1.RenderPartialExtensions类      RenderPartialExtensions类主要扩展了一个方法 RenderPartial()      RenderPartial(string partialViewName);      RenderPartial(strin...
844 0
|
Web App开发 前端开发
MVC进阶学习--HtmlHelper控件解析(五)
1.SelectExtensions 类      SelectExtensions 主要扩展了两种类型的方法 DropDowList和ListBox,这两个方法主要区别是后者添加了一个属性multiple="multiple",设置这个属性主要是为了能够多选2.
843 0
|
Web App开发 前端开发
MVC进阶学习--HtmlHelper控件解析(三)
1.LinkExtensions类      该类主要用于生成相关链接,主要扩展了ActionLink和RouteLink方法2.ActionLink       ActionLink扩展方法主要实现一个连接,共有十个重载方法      ActionLink(string linkText,stri...
819 0
|
Web App开发 JavaScript 前端开发
MVC进阶学习--HtmlHelper之GridView控件拓展(五)
1.GridView使用Action代码   Code 1 public ActionResult Index() 2         { 3             CommonPage page = TempData["page"] as CommonPage; 4            ...
1011 0
|
前端开发
MVC进阶学习--HtmlHelper之GridView控件拓展(一)
最近用MVC做项目的时候,感觉脱离了原有WebForm的那种编程方式,心中略有想法。在WebForm中由一个很常用的数据绑定控件GridView,我相信用过.net的同仁都会使用这个控件,在开发中的确给我们带来了不少的方便。
811 0
|
前端开发
MVC进阶学习--HtmlHelper之GridView控件拓展(三)
1.扩展核心代码 Code  1 using System;  2 using System.Collections.Generic;  3 using System.Linq;  4 using System.
748 0
|
前端开发
MVC进阶学习--HtmlHelper之GridView控件拓展(四)
1.输出表头 Code 1  ///  2         /// 添加表头行 3         ///  4         ///  5         ///  6         ///  7         ///  8         ///  9         /// 10 ...
756 0