欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-02 09:06:19
在mvc开发中我们常常用到枚举类型,通常枚举类型在使用中是是用dropdownlist,每次转换不是什么好办法。 通过扩展加以实现此功能。复制代码 代码如下:public...

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

复制代码 代码如下:

public static class exselectlistitem
     {
         public static list<selectlistitem> 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 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();
         }
 }

我们通过扩展enum方法来实现自动转换mvc中前台使用list<selectlistitem>的应用 

前台使用:

@html.dorpdownlist((list<selectlistitem>)tempdata["枚举类型"])

看起来不错。

后台代码应用:

tempdata["枚举类型"] = ((enum) 枚举类型.默认类型).toselectlistitem();

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

tempdata["枚举类型"] = ((enum) 枚举类型.默认类型).toselectlistitem(“默认类型”);