Je dois cocher une case à cocher par défaut:
J'ai essayé tout cela, rien ne coche ma case -
@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"})
Vous devez définir la propriété AllowRating
sur true
, de préférence dans le contrôleur ou le modèle.
Comme les autres entrées, l'état de la case à cocher reflète la valeur de la propriété.
La syntaxe dans votre dernière ligne est correcte.
@Html.CheckBoxFor(x => x.Test, new { @checked = "checked" })
Cela devrait certainement fonctionner. C'est la syntaxe correcte. Si vous avez un modèle existant et que AllowRating est défini sur true, MVC ajoutera automatiquement l'attribut vérifié. Si AllowRating est défini sur false, MVC n'ajoutera pas l'attribut. Toutefois, vous pouvez utiliser la syntaxe ci-dessus si vous le souhaitez.
Cela fonctionne pour moi:
<input id="AllowRating" type="checkbox" checked="@Model.AllowRating"
style="" onchange="" />
Si vous voulez vraiment utiliser HTML Helpers:
@Html.CheckBoxFor(m => m.AllowRating, new { @checked = Model.AllowRating})
Vous pouvez le faire avec @Html.CheckBoxFor()
:
@Html.CheckBoxFor(m => m.AllowRating, new{@checked=true });
ou vous pouvez aussi le faire avec une simple @Html.CheckBox()
:
@Html.CheckBox("AllowRating", true) ;
vous définissez la propriété AllowRating sur true à partir de votre contrôleur ou de votre modèle
@Html.CheckBoxFor(m => m.AllowRating, new { @checked =Model.AllowRating })
la seule option est de définir la valeur dans le contrôleur. Si votre vue est Créer, alors dans le action du contrôleur ajouter le modèle vide et définir la valeur comme,
Public ActionResult Create()
{
UserRating ur = new UserRating();
ur.AllowRating = true;
return View(ur);
}
Si nous définissons "true" dans le modèle, ce sera toujours vrai. Mais nous voulons définir la valeur de l'option pour ma case à cocher, nous pouvons l'utiliser. Le point important ici est le nom de la case à cocher "AllowRating", il faut le nom de var dans le modèle, sinon lorsque nous publions la valeur non transmise dans la base de données . Sous forme:
@Html.CheckBox("NameOfVarInModel", true) ;
pour vous!
@Html.CheckBox("AllowRating", true) ;
Je l'ai fait avec Razor, ça marche pour moi
Code de rasoir
@Html.CheckBox("CashOnDelivery", CashOnDelivery) (This is a bit or bool value) Razor don't support nullable bool
@Html.CheckBox("OnlinePayment", OnlinePayment)
Code C #
var CashOnDelivery = Convert.ToBoolean(Collection["CashOnDelivery"].Contains("true")?true:false);
var OnlinePayment = Convert.ToBoolean(Collection["OnlinePayment"].Contains("true") ? true : false);
J'ai eu le même problème, heureusement j'ai trouvé le code ci-dessous
@Html.CheckBoxFor(model => model.As, htmlAttributes: new { @checked = true} )