码迷,mamicode.com
首页 > 其他好文 > 详细

枚举转SelectList扩展方法

时间:2017-05-01 01:18:50      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:edit   span   this   get   ring   new   bsp   htm   item   

    public enum Avbc
    {
        Red=1,
        Blue=2,
        Whilt=3,
        Black=4
    }


public
static class EmumHelper { public static SelectList GetSelectListByEnum<TEnum>(this TEnum enumObj, int? selectedItem = null) { if (Enum.GetValues(typeof(TEnum)).Length > 0) { List<SelectListItem> listResult = new List<SelectListItem>(); foreach (TEnum e in Enum.GetValues(typeof(TEnum))) { if (selectedItem!=null && selectedItem == Convert.ToInt32(e)) // 选中 { SelectListItem item = new SelectListItem { Value = Convert.ToInt32(e).ToString(), // 传输值 Text = e.ToString(), // 显示值 Selected = true }; listResult.Add(item); } else { SelectListItem item = new SelectListItem // 不选中 { Value = Convert.ToInt32(e).ToString(), // 传输值 Text = e.ToString() // 显示值 }; listResult.Add(item); } } if (selectedItem != null) return new SelectList(listResult, "Value", "Text",selectedItem); else return new SelectList(listResult, "Value", "Text"); } return null; } }


Controller调用   Avbc.Black是枚举中随便一个项,扩展方法中会根据这个项找到这个枚举,然后全部列出

ViewBag.avbc = Avbc.Black.GetSelectListByEnum();

View强类型调用

 @Html.DropDownListFor(m => m.avbc, ViewBag.avbc as SelectList, Model.avbc)

 

枚举转SelectList扩展方法

标签:edit   span   this   get   ring   new   bsp   htm   item   

原文地址:http://www.cnblogs.com/yingger/p/6790787.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!