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!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage