2

Items を Enum からドロップダウンリストに変換しようとしています。助けてください

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 を取得する方法がわかりません。エラーがスローされます

4

2 に答える 2

2

コントローラーで、Enum GetNames静的メソッドと Linqを使用してColourList配列を初期化します。

myPageViewModel.ColourList = Enum.GetNames(typeof(Colors))
    .Select(c => new SelectListItem() { Text = c, Value = c })
    .ToArray();
于 2012-04-25T22:09:35.513 に答える