我正在尝试将我的项目从枚举转换为下拉列表。请帮忙
public enum Colors{ red,blue,green,yellow,orange,white,black,Teal,Custom }
@Html.DropDownList("SelectedColourId", Model.ColourList, "(Select one Color)")
我的 ViewModel 如下
myPageViewModel:BasicViewModel
{
.....
public IEnumerable<SelectListItem> ColourList{ get; set; }
.........
}
我尝试过类似的事情
myViewModel.ColourList = Enum.GetNames(typeof(Colors)).ToArray()
.Select(e => new SelectListItem() { Text = e.item, Value = e.itemindex });
但我不知道如何获取 itemText 及其对应的 Index 。它会抛出错误
最佳答案
在 Controller 中,使用 Enum GetNames 静态方法和 Linq 初始化 ColourList 数组:
myPageViewModel.ColourList = Enum.GetNames(typeof(Colors))
.Select(c => new SelectListItem() { Text = c, Value = c })
.ToArray();
关于c# - 将枚举的内容获取到下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10324507/