В случае, если вам нужно отправить ту же модель на сервер, решение со значением по умолчанию bool
в конструкторе не будет для вас жизнеспособным. Представим, что у вас есть следующая модель:
public class SearchModel
{
public bool IsMale { get; set; }
public SearchModel()
{
IsMale = true;
}
}
На вид у вас будет что-то вроде этого:
@Html.CheckBoxFor(n => n.IsMale)
Проблема в том, что пользователь снимает этот флажок и публикует его на сервере - в итоге вы получите значение по умолчанию, установленное в конструкторе (что в данном случае верно).
Так что в этом случае я бы просто указал значение по умолчанию для вида:
@Html.CheckBoxFor(n => n.IsMale, new { @checked = "checked" })