Ответ 1
Эксклюзив не может быть Nullable, он не имеет смысла для ViewEngine при оценке выражения. Он должен либо проверить, либо не установить флажок, а также ответить с помощью значения true
или false
. Ваша модель должна иметь значение bool
, но это не значит, что ваша база данных должна это знать. Вам просто нужно сделать перевод где-то между базой данных и моделью, например. Model.Exclusive = DAO.Exclusive ?? false
.
Не зная, что представляет собой нуль в вашей схеме данных или как вы создаете объекты модели, трудно дать вам намного больше деталей.
Изменить: не проверял это, но вы могли бы уйти с чем-то простым, как
public bool NoNullExclusive
{
get { return Exclusive ?? false; }
set { Exclusive = value; }
}
и заменяя
<%= Html.CheckBoxFor(model => model.Product.Exclusive) %>
с
<%= Html.CheckBoxFor(model => model.Product.NoNullExclusive) %>