Reputation: 2785
I am using CheckBox in my ASP.Net MVC project,
i want to set checkBox by default checked,
My CheckBox is
@Html.CheckBoxFor(model => model.As, new { @checked = "checked" })
but its not working,,,,
Upvotes: 52
Views: 159996
Reputation: 21
In razor, set value first.
@{model.As = true;}
@Html.CheckBoxFor(model => model.As)
Upvotes: 0
Reputation: 1
My way is @Html.CheckBoxFor(model => model.As, new { @value= "true" })
(meaning is checked)
Upvotes: 0
Reputation: 31
@Html.CheckBox("yourId", true, new { value = Model.Ischecked })
This will certainly work
Upvotes: 3
Reputation: 1430
Old question, but another "pure razor" answer would be:
@Html.CheckBoxFor(model => model.As, htmlAttributes: new { @checked = true} )
Upvotes: 54
Reputation: 31
You could set your property in the model's constructor
public YourModel()
{
As = true;
}
Upvotes: 3
Reputation: 1607
I use viewbag with the same variable name in the Controller. E.g if the variable is called "IsActive" and I want this to default to true on the "Create" form, on the Create Action I set the value ViewBag.IsActive = true;
public ActionResult Create()
{
ViewBag.IsActive = true;
return View();
}
Upvotes: 0
Reputation: 675
An alternative solution is using jQuery:
<script src="js/jquery-1.11.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
PrepareCheckbox();
});
function PrepareCheckbox(){
document.getElementById("checkbox").checked = true;
}
</script>
Upvotes: 0
Reputation: 1038830
In your controller action rendering the view you could set the As
property of your model to true:
model.As = true;
return View(model);
and in your view simply:
@Html.CheckBoxFor(model => model.As);
Now since the As property of the model is set to true, the CheckBoxFor helper will generate a checked checkbox.
Upvotes: 82