Ho un problema e non riesco a trovare una soluzione. Sto usando Razor ed è la mia classe VieModel.Checkbox multipli nel rasoio (utilizzando foreach)
public class GroupToExport
{
public GroupToExport()
{
ToExport = false;
}
[DisplayName("Export")]
public bool ToExport { get; set; }
public Group Group { get; set; }
}
public class GroupsToExport
{
public GroupsToExport()
{
//refill list
}
public List<GroupToExport> ExportingGroups { get; set; }
}
Vista:
@using (Html.BeginForm("Export", "ElmahGroup", FormMethod.Post, new { id = "toExportForm" }))
{
//some divs
<input type="submit" id="js-export-submit" value="Export" />
@foreach (var item in Model.ExportingGroups)
{
<tr>
<td class="js-export-checkbox">
@Html.CheckBoxFor(modelItem => item.ToExport)
</td>
</tr>
}
//some divs
}
Controller:
public ActionResult Export(GroupsToExport model)
{
var groupsToExport = model.ExportingGroups.Where(x => x.ToExport).Select(x => x);
throw new System.NotImplementedException();
}
Dopo presentare "ToExport", in Controller, ogni gruppo ha sempre valore 'false'. Anche se tutti i gruppi sono controllati.
Qualcuno può aiutarmi? Cosa sto facendo di sbagliato?
Come vengono visualizzati i dati nel modello (param). Forse dovresti controllare il nome della casella di controllo-html. –