ASP.NET MVC: проверка DropDownList

Примечание: ниже приведен только пример.

Я довольно новичок в ASP.NET MVC и пытаюсь понять, как работает проверка выпадающих списков. У меня есть следующее свойство в моемProfileViewModel учебный класс:

[DisplayName("Gender")]
public bool? Gender { get; set; }

null означает «неизвестно»,true женщина иfalse мужчина. В представлении конструктор модели I

AllGenders = new List<SelectListItem>(2)
             {
                 new SelectListItem {Text = "Unknown", Value = "null"},
                 new SelectListItem {Text = "Male", Value = "false"},
                 new SelectListItem {Text = "Female", Value = "true"}
             };

Прежде всего, кажется, что я должен использовать строки при заполненииList<SelectListItem>, который чувствует себя немного странно Это действительно так?

Во-вторых, когда я выбираю «Неизвестно» в списке, проверка не дает мне понять:

Значение 'null' недопустимо для пола.

Это почему? Когда я удаляю «нулевую» опцию и меняюGender к простомуboolвсе вроде нормально.

Это ASPX:

<%= Html.DropDownList("Gender", Model.AllGenders) %>

(Я не могу получитьDropDownListFor работать правильно, и кажется, что многие другие имеют ту же проблему.)

Любая помощь приветствуется!

Ответы на вопрос(1)

Ваш ответ на вопрос