如何知道检查了哪些复选框?

时间:2014-11-04 16:37:57

标签: html asp.net-mvc

我很难确定在我的MVC项目中检查了哪些复选框。以下是我设置复选框的方法:

<div id='myCheckboxDiv'>
    <input type="checkbox" onclick="checkAll(this)">Check All
    @foreach (var form in @Model.DetailObject.DoaFormGroupDocuments)
    {
        <br>
        var checkBoxId = "chk" + form.DocumentId;
        @Html.CheckBox(checkBoxId, new { value = form.DocumentId, @checked = true });
        @form.DocumentName;
    }
</div>

基本上我加载一个页面,该页面将在DetailObject中显示每个DoaFormGroupDocument的复选框(可以是0-10之间的任何位置)。我想要做的是当我点击页面底部的保存按钮时,与每个复选框相关联的ID(每个复选框都是唯一的)将保存到列表中。

要说清楚,我真的不希望在这个页面上发生任何事情,我需要存储在列表中的ID,我可以在其他区域(页面)中使用,所以我想这意味着我需要要在控制器中确定的复选框状态。

1 个答案:

答案 0 :(得分:0)

您可以在操作方法中查看来自Request的已发送数据,如果已选中,则可以check查看已发送的数据(选中CheckBoxes作为值发送)

var list = new List<bool>();
foreach (var form in DetailObject.DoaFormGroupDocuments)
{
    var checkBoxId = "chk" + form.DocumentId;
    if (Request[checkBoxId] == "on")
        list.Add(true);
    else
        list.Add(false);
}

列表是您的CheckBoxes状态。保存,如你所愿。