У меня есть частичный вид Razor, поддерживаемый viewmodel, содержащий, среди прочего, bool под названием UseDuo. Скажем, свойство UseDuo является истинным, и я ввел в свой Razor следующий код:
@Html.CheckBox("UseDuo", Model.UseDuo) @* Not checked *@
@Html.CheckBoxFor(m => m.UseDuo) @* Not checked *@
@Html.CheckBox("UseDuo2", Model.UseDuo) @* checked *@
@(Model.UseDuo ? "UseDuo=true" : "UseDuo=false") @* outputs UseDuo=true *@
Первые два флажка выходят не отмеченными, но третий проверяется, а последняя строка выводится как "UseDuo = true". Что дает? Согласно моему пониманию этих помощников Html, все три флажка должны быть проверены. Но кажется, что если имя моего флажка соответствует имени моего свойства модели, оно отказывается проверяться должным образом.
Я попробовал отладку в источниках .Net MVC, но отладчик отказался давать мне значения для большинства переменных, которые были обработаны, поэтому это не помогло.
Редактировать: Просто не было никакого реального вопроса. Мой вопрос: Почему не проверяются первые две коробки?