Почему значения enum с Enum.GetValues ​​(typeof ()) не распознаются, если они объявлены в Model? - PullRequest
0 голосов
/ 20 мая 2019

Я хочу заполнить раскрывающийся список значениями полов, используя enum в MVC, но Enum.GetValues ​​(typeof (...) не возвращает значения. Вот часть .cshtml:

    <div class="form-group">
        @Html.LabelFor(m => m.parGender, new { @class = "col-md-2 control-label" })
        <div class="col-md-10">
            @Html.DropDownListFor(m => m.parGender, new SelectList(Enum.GetValues(typeof(Gender))), new { @class = "form-control" })
        </div>
    </div>

А вот модель для этого:

        [Required(ErrorMessage = "Select your gender!")]
        [Display(Name = "Gender:")]
        public Gender parGender { get; set; }

        public enum Gender
        {
            Male,
            Female
        }

Что я пропустил, чтобы это сработало?

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Вам придется разыграть его, а затем, возможно, выбрать правильный тип - я использовал его для выпадающих меню Kendo, но не уверен, будет ли он точно таким же:

Enum.GetValues(typeof(Gender)).Cast<Gender>().Select(at =>
    new SelectListItem
    {
        Text = at.ToString(),
        Value = ((int)at).ToString()
    }
))
0 голосов
/ 20 мая 2019

Вам нужно привести результат к нужному типу массива

(Gender[])Enum.GetValues(typeof(Gender))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...