MVC4 下DropDownList使用方法(转)

与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" })

作者:【唐】三三

出处:https://www.cnblogs.com/tangge/p/7308205.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   【唐】三三  阅读(252)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示