How do I set a checkbox in razor view?
I need to check a checkbox by default:
I tried all of these, nothing is checking my checkbox -
@Html.CheckBoxFor(m => m.AllowRating, new { @value = "true" })
@Html.CheckBoxFor(m => m.AllowRating, new { @checked = "true" })
@H开发者_运维技巧tml.CheckBoxFor(m => m.AllowRating, new { @checked = true })
@Html.CheckBoxFor(m => m.AllowRating, new { @checked = "checked"})
You should set the AllowRating
property to true
, preferably in the controller or model.
Like other inputs, the checkbox's state reflects the value of the property.
This works for me:
<input id="AllowRating" type="checkbox" @(Model.AllowRating?"checked='checked'":"") style="" onchange="" />
If you really wants to use HTML Helpers:
@Html.CheckBoxFor(m => m.AllowRating, new { @checked = Model.AllowRating})
Also take into account that if m.AllowRating is false, it will fail to set to status checked in your examples.
The syntax in your last line is correct.
@Html.CheckBoxFor(x => x.Test, new { @checked = "checked" })
That should definitely work. It is the correct syntax. If you have an existing model and AllowRating is set to true then MVC will add the checked attribute automatically. If AllowRating is set to false MVC won't add the attribute however if desired you can using the above syntax.
You can do this with @Html.CheckBoxFor()
:
@Html.CheckBoxFor(m => m.AllowRating, new{@checked=true });
or you can also do this with a simple @Html.CheckBox()
:
@Html.CheckBox("AllowRating", true) ;
you set AllowRating property to true from your controller or model
@Html.CheckBoxFor(m => m.AllowRating, new { @checked =Model.AllowRating })
<input type="checkbox" @( Model.Checked == true ? "checked" : "" ) />
only option is to set the value in the controller, If your view is Create then in the controller action add the empty model, and set the value like,
Public ActionResult Create()
{
UserRating ur = new UserRating();
ur.AllowRating = true;
return View(ur);
}
If we set "true" in model, It'll always true. But we want to set option value for my checkbox we can use this. Important in here is The name of checkbox "AllowRating", It's must name of var in model if not when we post the value not pass in Database. form of it:
@Html.CheckBox("NameOfVarInModel", true) ;
for you!
@Html.CheckBox("AllowRating", true) ;
I had the same issue, luckily I found the below code
@Html.CheckBoxFor(model => model.As, htmlAttributes: new { @checked = true} )
Check Box Checked By Default - Razor Solution
I did it using Razor , works for me
Razor Code
@Html.CheckBox("CashOnDelivery", CashOnDelivery) (This is a bit or bool value) Razor don't support nullable bool
@Html.CheckBox("OnlinePayment", OnlinePayment)
C# Code
var CashOnDelivery = Convert.ToBoolean(Collection["CashOnDelivery"].Contains("true")?true:false);
var OnlinePayment = Convert.ToBoolean(Collection["OnlinePayment"].Contains("true") ? true : false);
精彩评论