Tengo una tarea aparentemente fácil de configurar un botón de opción "marcado" según el valor booleano del modelo. Tengo un booleano en mi modelo "IsSDPDonor" que quiero usar para los botones Sí/No Radio. El botón de opción "Sí" se debe marcar si "IsSDDonor" es verdadero y "No" si es falso. Traté de usar el código a continuación, pero siempre comprueba el botón de opción "No".asp.net mvc3 botón de selección de verificación basado en el modelo
@Html.Label("Would You Like to Donate Platelets (SDP)") :
@Html.RadioButtonFor(m => m.Donor.IsSDPDonor, true, new {@checked = Model.Donor.IsSDPDonor ? "checked" : ""}) Yes
@Html.RadioButtonFor(m => m.Donor.IsSDPDonor, false, new { @checked = !Model.Donor.IsSDPDonor ? "checked" : "" }) No
Me estaba poniendo un poco frustrado, así que pensé que prefería tomar algo de ayuda. Básicamente, la sintaxis HTML dice que solo coloque el atributo "Comprobado" sin ningún valor para marcar un botón de opción. Me preguntaba cómo haría eso usando la sintaxis de la navaja MVC3.
¿Por qué están utilizando '@ checked' en lugar de' checked' en la definición de objeto anónimo? Además, usar 'checked =" checked "' debería tener el mismo efecto que el marcado sin valores, con menos problemas de compatibilidad – smartcaveman
@smartcaveman porque 'checked' es una palabra clave que debe usar' @ 'para distinguirlo como variable (nombre de la propiedad, en este caso). – tvanfosson