主页 > 知识库 > MVC4 基础 枚举生成 DropDownList 实用技巧

MVC4 基础 枚举生成 DropDownList 实用技巧

热门标签:团购网站 服务器配置 科大讯飞语音识别系统 Mysql连接数设置 阿里云 Linux服务器 电子围栏 银行业务

在MVC开发中我们常常用到枚举类型,通常枚举类型在使用中是是用DropDownList,每次转换不是什么好办法。 通过扩展加以实现此功能。

复制代码 代码如下:

public static class ExSelectListItem
     {
         public static ListSelectListItem> ToSelectListItem(this Enum valueEnum)
         {
             return (from int value in Enum.GetValues(valueEnum.GetType())
                     select new SelectListItem
                     {
                         Text = Enum.GetName(valueEnum.GetType(), value),
                         Value = value.ToString()
                     }).ToList();
         }

         public static ListSelectListItem> 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();
         }
 }

我们通过扩展Enum方法来实现自动转换MVC中前台使用ListSelectListItem>的应用 

前台使用:

@Html.DorpDownList((ListSelectListItem>)TempData["枚举类型"])

看起来不错。

后台代码应用:

TempData["枚举类型"] = ((Enum) 枚举类型.默认类型).ToSelectListItem();

扩展第二个方法中,我们传递枚举类型名,来判断是否选中状态。

TempData["枚举类型"] = ((Enum) 枚举类型.默认类型).ToSelectListItem(“默认类型”);

您可能感兴趣的文章:
  • JavaScript与DropDownList 区别分析
  • 客户端用JavaScript填充DropDownList控件 服务器端读不到值
  • JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
  • Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
  • ASP.NET MVC DropDownList数据绑定及使用详解
  • ASP.NET服务器端控件RadioButtonList,DropDownList,CheckBoxList的取值、赋值用法
  • ASP.NET MVC中为DropDownListFor设置选中项的方法
  • JS简单操作select和dropdownlist实例
  • C#使用DropDownList绑定添加新数据的方法汇总

标签:江苏 蚌埠 衢州 衡水 大理 萍乡 广元 枣庄

巨人网络通讯声明:本文标题《MVC4 基础 枚举生成 DropDownList 实用技巧》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266