Exclusivo no puede ser anulable, no tiene sentido para ViewEngine al evaluar la expresión. Tiene que marcar o no marcar la casilla de verificación y también responder con un valor de true
o false
. Su modelo necesita tener un valor bool
, pero eso no significa que su base de datos deba saberlo. Solo tiene que hacer una traducción en algún lugar entre la base de datos y el modelo, por ej. Model.Exclusive = DAO.Exclusive ?? false
.
Sin saber lo que null representa en su esquema de datos o cómo genera sus objetos modelo, es difícil darle muchos más detalles que eso.
Editar: No he probado esto, pero es posible salirse con algo tan simple como
public bool NoNullExclusive
{
get { return Exclusive ?? false; }
set { Exclusive = value; }
}
y la sustitución de
<%= Html.CheckBoxFor(model => model.Product.Exclusive) %>
con
<%= Html.CheckBoxFor(model => model.Product.NoNullExclusive) %>
creé la propiedad que sugiere en una clase parcial. ¿Este sería el mejor lugar para hacer esta manipulación? – Picflight
Si su clase de Producto se genera automáticamente, entonces sí. De lo contrario, en la propia clase o en la asignación del objeto de acceso a datos al modelo. – pdr