I have a viewmodel that looks like this:
public class SecurityProfileViewModel
{
    public string SecurityProfileNum { get; set; }
    public List<String> SecurityProfilePDRGroups { get; set; }
    public List<WrReportConfiguration> SecurityProfilePDR { get; set; }
    public List<String> SecurityProfileUDRGroups { get; set; }
    public List<WrReportConfiguration> SecurityProfileUDR { get; set; }
}
The controller GET method looks like this:
    // GET: /Admin/
    public ActionResult ConfigureUserPermissions(string securityProfile)
    {
        ReportsConfigurationBuilder rcb = new ReportsConfigurationBuilder();
        rcb.BuildSecurityProfileReportConfiguration(Convert.ToInt32(securityProfile));
        SecurityProfileViewModel spvm = new SecurityProfileViewModel
        {
            SecurityProfileNum = securityProfile,
            SecurityProfilePDRGroups = rcb.SecurityProfilePDRGroupsList,
            SecurityProfilePDR = rcb.SecurityProfilePDRConfig,
            SecurityProfileUDRGroups = rcb.SecurityProfileUDRGroupsList,
            SecurityProfileUDR = rcb.SecurityProfileUDRConfig,
        };
        return View(spvm);
    }
The view produces a list of reports with associated checkboxes. The code looks like this:
@model ClearWeighWebReporting.ViewModels.SecurityProfileViewModel
@{
    ViewBag.Title = "ConfigureUserPermissions";
}
<p>Security Profile @Html.DisplayFor(modelItem => Model.SecurityProfileNum)</p>
@using (Html.BeginForm())
{
    <p>Pre-defined Reports</p>
    foreach (String pdrGroup in Model.SecurityProfilePDRGroups)
    {
        @Html.DisplayFor(modelItem => pdrGroup)
        <table>
            @foreach (ClearWeighWebReporting.Models.WrReportConfiguration pdrc in Model.SecurityProfilePDR)
            {
                if (pdrc.ReportGroup == pdrGroup)
                {
                    <tr>
                        <td>
                            @Html.HiddenFor(modelItem => pdrc.ReportID)
                            @Html.DisplayFor(modelItem => pdrc.ReportTitle)
                        </td>
                        <td>
                            @Html.DisplayFor(modelItem => pdrc.ViewPermissionString)
                            @Html.CheckBoxFor(modelItem => pdrc.ViewPermission)
                        </td>
                        <td>
                            @Html.DisplayFor(modelItem => pdrc.EditPermissionString)
                            @Html.CheckBoxFor(modelItem => pdrc.EditPermission)
                        </td>
                    </tr>
                }
            }
        </table>
    }
    ... other view code
    <input id="Submit1" type="submit" value="Submit" />    
}
The view is rendered ok:
But when I check/uncheck values and submit the form the view model returned to the POST method is NULL:
debugger showing NULL view model
How do I get the checkbox values back in the view model? Is this a binding issue?
