Note that there are some explanatory texts on larger screens.

plurals
  1. POMVC 2 - Cannot retieve checkbox values in MVC Contrib grid
    primarykey
    data
    text
    <p>I have a checkbox on my MVC Contrib grid;</p> <pre><code> &lt;%= Html.Grid(Model.TeamMembers).Columns(column =&gt; { column.For(model =&gt; model.Surname); column.For(model =&gt; model.Forename); column.For(model =&gt; model.DaysLeftThisYear).Named("Days Left This Year"); column.For(model =&gt; model.DaysLeftNextYear).Named("Days Left Next Year"); column.For(model =&gt; Html.CheckBox("chkbox", model.SelectForConfirmationFlag)) .Named("Select?") .Sortable(false); }).Sort((GridSortOptions)ViewData["sort"]) %&gt; &lt;/div&gt; &lt;p&gt;&lt;%= Html.Pager((IPagination)Model.TeamMembers)%&gt;&lt;/p&gt; </code></pre> <p>The user can then click on the checkboxes, but when he submits, the new values are NOT picked up in the controller. The page is contained in a page which has a BeginForm statement;</p> <pre><code>&lt;% using (Html.BeginForm("Home", "Approver", FormMethod.Post, new { id = "frmHome" })) {%&gt; </code></pre> <p>My controller looks like;</p> <pre><code>[HttpGet] [Authorize(Roles = "Administrator, ManagerIT, ManagerAccounts, Approver")] public ActionResult Home(GridSortOptions sort, int? page) { SessionObjects.LoggedInUserName = User.Identity.Name; if (SessionObjects.ApprovalViewModel.TeamMembers.Count() == 0) SessionObjects.ApprovalViewModel = new ApprovalViewModel(); TempData["ReadOnly"] = true; if (sort.Column != null) { SessionObjects.ApprovalViewModel.TeamMembers = SessionObjects.ApprovalViewModel.TeamMembers.OrderBy(sort.Column, sort.Direction); } SessionObjects.ApprovalViewModel.TeamMembers = SessionObjects.ApprovalViewModel.TeamMembers.AsPagination(page ?? 1, Utility.GetPageLength()); ViewData["sort"] = sort; return View(SessionObjects.ApprovalViewModel); } [HttpPost] public ActionResult Home(ApprovalViewModel avm) { if (avm.TeamMembers.Count() == 0) { TempData["ErrorMessage"] = "You have no team members to select"; return RedirectToAction("Home"); } else if (avm.TeamMembers.Where(x =&gt; x.SelectForConfirmationFlag == true).Count() == 0) { TempData["ErrorMessage"] = "You must select at least one team member"; return RedirectToAction("Home"); } else { string[] selectedEmployees = avm.TeamMembers .Where(x =&gt; x.SelectForConfirmationFlag == true) .Select(x =&gt; x.EmployeeId.ToString()).ToArray(); var result = RedirectToAction("ConfirmBookings", "Approver", new { selectedEmployeesParameters = selectedEmployees }); result.AddArraysToRouteValues(); return result; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload