与MVC3相比,差别很大:

表现形式一:

 public ActionResult Main()
{
List<SelectListItem> items = new List<SelectListItem>();
items.Add(new SelectListItem { Text = "Action", Value = "" });
items.Add(new SelectListItem { Text = "Comedy", Value = "" });
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" })

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. Java科普之加密算法

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 加密比较复杂,但今天公司有需求,就稍微再研究一下,方式只有两种,对称加密和非对称加密.对称加密是指加 ...

  2. Netty 4(一) zero copy

    Netty的“零拷贝”主要体现在如下三个方面: 1) Netty的接收和发送ByteBuffer采用DIRECT BUFFERS,使用堆外直接内存进行Socket读写,不需要进行字节缓冲区的二次拷贝. ...

  3. 记录下 QT Linux 静态编译遇到的坑

    Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-open ...

  4. 国家发改委发布的数据,前三季度我国生产的手机、PC、集成电路、宽带上网的数量

    集微网消息,根据国家发改委发布的数据,前三季度,我国生产集成电路944亿块,同比增长18.2%. 此外,前三季度,生产手机15亿部,同比增长17.6%,其中智能手机11亿部,增长12.1%,占全部手机 ...

  5. php---将数组转化为数组对象

    例子:array(1){ [0]=>array( 'id'=>111, 'name'=>'aaaa' ) } 由上面的例子转化成下面对象,怎么转化?急急 急 谢谢array(1) { ...

  6. css背景图片定位练习(二): background-position的百分比

    background-position:x y; 百分比定位并不能直观的看出来,需要通过计算. background-position百分比计算公式: (容器宽度—背景图片的宽度)*x%=xpx(容器 ...

  7. SQL Server 用SQL语句查找某个表的触发器

    select   *   from   sysobjects   where   xtype='TR'   and   parent_obj=object_id('表名') 再用sp_helptext ...

  8. 使用C语言把字母转换成大写,不能使用库函数

    char to_upper(char input) {   if ('a' <= input && input <= 'z') {     return input - ' ...

  9. LeetCode Integer to English Words

    原题链接在这里:https://leetcode.com/problems/integer-to-english-words/ Convert a non-negative integer to it ...

  10. tomcat 禁用不安全的http请求模式 .

    HTTP服务器至少应该实现GET和HEAD方法,其他方法都是可选的.当然,所有的方法支持的实现都应当符合下述的方法各自的语义定义.此外,除了上述方法,特定的HTTP服务器还能够扩展自定义的方法. ht ...