Le rendu Nullable Bool comme Case

Je suis de nouveau à partir de WebForms à la MVC. J'ai vue le modèle de champ avec le type bool? et, par défaut, EditorFor() rend ce champ comme un DropDownList avec un "Non Défini". Je préfère rendre sous la forme d'une Case à cocher et, si la valeur est null, il suffit de le régler à décochée.

Le nom du champ est RFP.DatesFlexible et donc j'ai écrit le texte suivant de mon point de vue:

<input type="checkbox" id="RFP_DatesFlexible" name="RFP.DatesFlexible" />
<label for="RFP_DatesFlexible">My Dates are Flexible</label>

Mais cela ne fonctionne pas. Le résultat est toujours nul et ModelState.IsValid est faux.

Quelqu'un peut dire comment je pourrais faire ce travail?

MODIFIER

C'est le code que j'ai fini avec, qui semble bien fonctionner.

@Html.CheckBox("RFP.DatesFlexible", Model.RFP.DatesFlexible ?? false)
@Html.Label("RFP.DatesFlexible", "My Dates are Flexible")

L'étiquette est correctement associé à la case à cocher de sorte qu'en cliquant sur le texte bascule la case à cocher.

Merci pour la réponse!

OriginalL'auteur Jonathan Wood | 2011-12-13