I have to pass the Checkbox State like checked or not to the controller.I have action method which takes the parameter as like this
public ActionResult Edit(int id, bool IsChecked) {
if (id == null) {
return HttpNotFound();
}
else {
if (ModelState.IsValid)
{
_repository.EditStudent(id, IsChecked);
return RedirectToAction("Index");
}
var model = _repository.GetAllStudents();
return View(model);
}
}
Now I want to pass the value from View to Controller .In my Index.cshtml code is like this
<div id="gridDiv">
@{
var grid = new WebGrid(source: Model, canPage: true, pageFieldName: "Id", rowsPerPage: 4);
@grid.GetHtml(columns: grid.Columns(
grid.Column(columnName: "StudentId", header: "Id", format: @@item.StudentId
, canSort: true),
grid.Column(columnName: "StudentName", header: "Name", format: @@item.StudentName, canSort: false),
grid.Column(columnName: "Age", header: "Age", format: @@item.Age, canSort: false),
grid.Column(columnName: "Result", header: "Pass/Fail", canSort: false,
format: (item) => @Html.Raw("<input type='checkbox' " + ((item.Result == true) ? "checked" : "") + " disabled='disabled' />")),
grid.Column(columnName: "", header: "Actions", format: @<text>
@Html.ActionLink("Edit", "", new { id = item.StudentId }, new { @id = "lnkEdit" + item.studentid })
|
@Html.ActionLink("Save", "Edit", new { id = item.studentid, IsChecked = item.Result }, new { @id = "lnkSave" + item.studentid })
</text>)
));
}
</div>
I want to pass the current state of the Checkbox value as parameter when user clicks on "save" link.