您好,我有一个来自此类型的强类型视图
public class EditGroupModel
{
public int GroupId { get; set; }
public string GroupName { get; set; }
public List<PermissionChecked> Permissions;
}
如您所见,我的模型有一个PermissionChecekd类型的列表
public class PermissionChecked
{
public string Description { get; set; }
public bool Checked { get; set; }
}
这是我的强类型视图
@model EditGroupModel
<div class="form-group clearfix">
<div class="col-md-3">
@Html.LabelFor(m => m.GroupName, new { @class = "control-label" })
@Html.TextBoxFor(m => m.GroupName, new { @class = "form-control" })
</div>
<div class="col-md-3">
@Html.LabelFor(m => m.Permissions, new { @class = "control-label" })
@for (int i = 0; i < Model.Permissions.Count(); i++)
{
@Html.CheckBoxFor(x=>x.Permissions[i].Checked)
@Html.DisplayFor(x => x.Permissions[i].Description)
}
</div>
问题是,当我将数据发布到控制器时 - 因为您可能认为具有PermissionChecked项的List为null(),模型绑定无法与List一起使用)我无法理解哪个复选框检查与否 你可以建议一种在这种情况下正确的解决方法吗
答案 0 :(得分:0)
我建议为复选框添加名称。像“权限”和您在表单提交中调用的控制器操作中的内容 - 您可以在操作参数中使用“列表权限”来读取复选框。
答案 1 :(得分:0)
有两种方法可以做到这一点。 1.使用复选框与某个班级相关联 并使用jquery检查检查的内容。然后使用ajax调用控制器方法。