C# 接收控制器中的复选框列表

C# 接收控制器中的复选框列表,c#,asp.net,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc 5,我有一个视图,其中显示多个实体,用户可以选择或不选择。所有这些工作正常,但我无法在控制器中接收这些数据 控制器: public class EventOrphans { public int ID { get; set; } public string Name { get; set; } //... } [HttpGet] public ActionResult FindOrphanedEvents() { //Some Database Logic re

我有一个视图,其中显示多个实体,用户可以选择或不选择。所有这些工作正常,但我无法在控制器中接收这些数据

控制器:

public class EventOrphans
{
    public int ID { get; set; }

    public string Name { get; set; }

    //...
}

[HttpGet]
public ActionResult FindOrphanedEvents()
{
    //Some Database Logic removed
    List<EventOrphans> list = new List<EventOrphans>();
    return this.View(list);
}

[HttpPost]
public ActionResult FindOrphanedEvents(List<String> events)
{
    //This is where I stuck
}

型号

public class EventOrphans
{
    public int ID { get; set; }

    public string Name { get; set; }

    public bool Checked { get; set; }

}
请注意选中的属性

循环视图

@for(var i = 0; i < Model.Count; i++)
{

    <dt>
        @Html.HiddenFor(m => Model[i].ID)
        @Html.HiddenFor(m => Model[i].Name)
        @Html.CheckBoxFor(m = Model[i].Checked)
    </dt>
    <dd>
        @Model[i].Name
    </dd>

}
(变量i=0;iModel[i].ID) @Html.HiddenFor(m=>Model[i].Name) @Html.CheckBoxFor(m=Model[i]。已选中) @型号[i].名称 } 请注意,for循环代替了foreach以启用模型绑定,而隐藏字段则允许将值发布回控制器

管制员职位

[HttpPost]
public ActionResult Index(List<EventOrphans> events)
{
    //All the selected events are available in events

    return View(events);
}
[HttpPost]
公共行动结果索引(列出事件)
{
//所有选定的事件都在事件中可用
返回视图(事件);
}
注意从
列表
列表

@for(var i = 0; i < Model.Count; i++)
{

    <dt>
        @Html.HiddenFor(m => Model[i].ID)
        @Html.HiddenFor(m => Model[i].Name)
        @Html.CheckBoxFor(m = Model[i].Checked)
    </dt>
    <dd>
        @Model[i].Name
    </dd>

}
[HttpPost]
public ActionResult Index(List<EventOrphans> events)
{
    //All the selected events are available in events

    return View(events);
}