ASP.NET MVC: DropDownList-Validierung
Hinweis: Das Folgende ist nur ein Beispiel.
Ich bin ziemlich neu in ASP.NET MVC und versuche mir ein Bild davon zu machen, wie die Validierung von Dropdown-Listen funktioniert. Ich habe die folgende Eigenschaft in meinemProfileViewModel
class:
[DisplayName("Gender")]
public bool? Gender { get; set; }
null
soll "unbekannt" bedeuten,true
weiblich undfalse
männlich. Im Ansichtsmodellkonstruktor I
AllGenders = new List<SelectListItem>(2)
{
new SelectListItem {Text = "Unknown", Value = "null"},
new SelectListItem {Text = "Male", Value = "false"},
new SelectListItem {Text = "Female", Value = "true"}
};
Zunächst muss ich beim Auffüllen eines @ -Zeichens Zeichenfolgen verwendeList<SelectListItem>
, das fühlt sich irgendwie komisch an. Ist das wirklich so?
Zweitens: Wenn ich "Unbekannt" in der Liste wähle, sagt mir die Validierung Folgendes nicht:
Der Wert 'null' gilt nicht für Geschlecht.Warum das? Wenn ich die Option "null" entferne und @ ändeGender
zu einem einfachenbool
, alles scheint in Ordnung zu sein.
Das ist der ASPX:
<%= Html.DropDownList("Gender", Model.AllGenders) %>
(Ich kann nicht bekommenDropDownListFor
richtig funktionieren und es scheint, dass viele andere das gleiche Problem haben.)
Jede Hilfe dankbar!