Если вы действительно не хотите использовать помощник, вы бы использовать обычный HTML тег ввода:
атрибут
<input type="checkbox" id="CityValid" name="CityValid" value="@Model.CityValid" />
<input type="hidden" id="CityValue_Hidden" name="CityValid" value="false" />
имя должно соответствовать ваше имя свойства, так что модель связующее забрать его правильно, когда вы отправляете обратно на сервер.
При использовании помощников будет создано нечто похожее на вышеуказанную разметку. Скрытое поле существует так, что значение равно всегда отправлено с данными сообщения формы, независимо от того, установлен ли вы этот флажок или нет (если вы не открыли флажок, то значение не будет отправлено по умолчанию, даже не «false»,).
Однако, если вы не делаете что-то действительно странное, я бы рекомендовал вам использовать хелперы. Либо:
@Html.CheckboxFor(m => m.CityValid)
или
@Html.EditorFor(m => m.CityValid)
могли бы вы объяснить причину "без htmlHelpers"? Это выглядит довольно странно ... –
У меня есть еще одна логика, что я хочу поместиться вокруг вещей. Например, я сделаю это в цикле и добавлю разные имена в эти флажки. checkbox_1 и т. д. Именно по этой причине я хотел сделать это без помощников. Благодарю. –
Возможно, вы захотите использовать что-то подобное, если у вас есть список флажков http://stackoverflow.com/a/4057281/491950 – Rob