2015-10-23 127 views
-1

列表你好,我已经得到了从这种类型的强类型视图MVC - 如何获取选中的复选框中的复选框

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> 

的问题是,当我婆st数据到控制器 - 你可能认为带有PermissionChecked项目的List是null()模型绑定不能用于List)并且我无法理解哪个复选框被选中或不可以 你能建议一个解决方法吗?在这种情况下正确的方法

回答

0

我会建议像添加复选框的名称。类似于“权限”以及您在表单提交时调用的控制器操作 - 您可以在操作参数中拥有“列表权限”以读取复选框。

0

有两种方法可以做到这一点。 1.使用复选框
关联某个类并检查使用jquery检查或不使用的内容。然后使用ajax调用控制器方法。

2.观看这个https://www.youtube.com/watch?v=4KeoOPWshmw