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
работать правильно, и кажется, что многие другие имеют ту же проблему.)
Любая помощь приветствуется!