zoukankan      html  css  js  c++  java
  • 枚举转SelectList扩展方法

        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)
  • 相关阅读:
    「CSP-S2020」贪吃蛇
    CSP-S 2020 游记
    「POI2012」Leveling Ground
    「THUPC2019」鸭棋
    「SNOI2020」取石子 题解
    第一篇随笔
    实验三 面向对象分析与设计
    高斯模型
    实验二 结构化分析与设计
    极大似然估计
  • 原文地址:https://www.cnblogs.com/yingger/p/6790787.html
Copyright © 2011-2022 走看看