Ответ 1
Вы должны установить для свойства AllowRating
значение true
, предпочтительно в контроллере или модели.
Как и другие входы, состояние флажка отражает значение свойства.
Мне нужно установить флажок по умолчанию:
Я попробовал все это, ничто не проверяет мой флажок -
@Html.CheckBoxFor(m => m.AllowRating, new { @value = "true" })
@Html.CheckBoxFor(m => m.AllowRating, new { @checked = "true" })
@Html.CheckBoxFor(m => m.AllowRating, new { @checked = true })
@Html.CheckBoxFor(m => m.AllowRating, new { @checked = "checked"})
Вы должны установить для свойства AllowRating
значение true
, предпочтительно в контроллере или модели.
Как и другие входы, состояние флажка отражает значение свойства.
Синтаксис в вашей последней строке правильный.
@Html.CheckBoxFor(x => x.Test, new { @checked = "checked" })
Это должно определенно работать. Это правильный синтаксис. Если у вас есть существующая модель, а AllowRating - true, MVC автоматически добавит проверенный атрибут. Если для параметра AllowRating установлено значение false, MVC не добавит атрибут, но при желании вы можете использовать указанный выше синтаксис.
Это работает для меня:
<input id="AllowRating" type="checkbox" checked="@Model.AllowRating"
style="" onchange="" />
Если вы действительно хотите использовать HTML-помощники:
@Html.CheckBoxFor(m => m.AllowRating, new { @checked = Model.AllowRating})
Вы можете сделать это с помощью @Html.CheckBoxFor()
:
@Html.CheckBoxFor(m => m.AllowRating, new{@checked=true });
или вы также можете сделать это с помощью простого @Html.CheckBox()
:
@Html.CheckBox("AllowRating", true) ;
вы установите для свойства AllowRating значение true из вашего контроллера или модели
@Html.CheckBoxFor(m => m.AllowRating, new { @checked =Model.AllowRating })
только опция - установить значение в контроллере. Если ваше представление - Создать, то в действие контроллера добавляет пустую модель и задает значение, подобное
Public ActionResult Create()
{
UserRating ur = new UserRating();
ur.AllowRating = true;
return View(ur);
}
Я сделал это с помощью Razor, работает для меня
Код бритвы
@Html.CheckBox("CashOnDelivery", CashOnDelivery) (This is a bit or bool value) Razor don't support nullable bool
@Html.CheckBox("OnlinePayment", OnlinePayment)
Код С#
var CashOnDelivery = Convert.ToBoolean(Collection["CashOnDelivery"].Contains("true")?true:false);
var OnlinePayment = Convert.ToBoolean(Collection["OnlinePayment"].Contains("true") ? true : false);
Если мы установим "true" в модели, это всегда будет верно. Но мы хотим установить значение параметра для моего флажка, мы можем использовать это. Здесь важно указать флажок "AllowRating", он должен называть var в модели, если нет, когда мы публикуем значение, не переданное в базе данных. его формы:
@Html.CheckBox("NameOfVarInModel", true) ;
для вас!
@Html.CheckBox("AllowRating", true) ;
У меня была такая же проблема, к счастью, я нашел ниже код
@Html.CheckBoxFor(model => model.As, htmlAttributes: new { @checked = true} )
<input type="checkbox" @( Model.Checked == true ? "checked" : "" ) />