Javascript 如何找到选中的复选框并将其传递给MVC中的ActionResult?

Javascript 如何找到选中的复选框并将其传递给MVC中的ActionResult?,javascript,jquery,asp.net-mvc,checkbox,Javascript,Jquery,Asp.net Mvc,Checkbox,我有一个MVC5应用程序,在我的一个视图中,我有这样的东西: <div id="subcatsform" class="form-group" style="visibility:hidden;"> @Html.LabelFor(m => m.Subcategories, new { @class = "col-md-3 control-label" }) <div id="subcats" class="col-md-9"> &l

我有一个MVC5应用程序,在我的一个视图中,我有这样的东西:

<div id="subcatsform" class="form-group" style="visibility:hidden;">
     @Html.LabelFor(m => m.Subcategories, new { @class = "col-md-3 control-label" })
     <div id="subcats" class="col-md-9">

      </div>
</div>
因此,我只需检查先前选中的category,然后相应地列出该类别中找到的所有子类别,并为每个子类别创建带有类型复选框的输入。这一切都很好,我可以得到适当的子类别,当我改变我的类别,它为我创建了复选框

问题是,稍后当用户在我的视图表单中按下提交按钮时,我不知道如何找出选中了哪些复选框

我的
ActionResult
定义如下:

public async Task<ActionResult> RegisterBusiness(BusinessViewModel model)
public virtual ICollection<Subcategory> Subcategories { get; set; }
公共异步任务注册表业务(BusinessViewModel模型)
在我的BusinessViewModel中,我有一个如下定义的属性:

public async Task<ActionResult> RegisterBusiness(BusinessViewModel model)
public virtual ICollection<Subcategory> Subcategories { get; set; }
公共虚拟ICollection子类别{get;set;}

您知道,在提交表单时,如何获取所有选中复选框并获取其值属性吗?

假设您的子标记类中有一个名为IsSelected的布尔属性。 您应该能够像这样发送值

 var checkedList = $.map($(':input[name="Subcategory"]'),
   function(){
    var $this = $(this);
    return {
       name :$this.data('subcatagory'), // You can add the subcatagory as a data dash attribute or any other unique identifier in  html of the checkbox before appending
       IsSelected  : $this.is(':checked')
        }});
        $.ajax({
          url : '<your url>',
          type:"POST",
          contentType:"application/json; charset=utf-8",
          data : JSON.Stringify({
                  'Subcategories' :checkedList
                 })
        });
var checkedList=$.map($(':input[name=“Subcategory”]'),
函数(){
var$this=$(this);
返回{
名称:$this.data('subtagory'),//您可以在附加前将该子标记添加为复选框的html中的数据破折号属性或任何其他唯一标识符
IsSelected:$this.is(“:选中”)
}});
$.ajax({
url:“”,
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
数据:JSON.Stringify({
“子类别”:检查列表
})
});

我如何知道用户检查了哪些?我在您的示例中看到,您手动列出了选中的复选框。感谢您的更新,因此对于
部分,我应该将Account/RegisterBusiness作为操作方法,我希望在其中操作所选子类别?你能给我ActionResult中需要的代码吗?