这是我的代码:
@using (Html.BeginForm("AddMCondition", "Admin"))
{
<td class="admin-textbox">
@Html.TextBox("txtMCondition")
</td>
<td>
@foreach (var exerType in Model.AllExerciseTypes)
{
<label>
@Html.CheckBox("RestrictedType")
@exerType.Name
</label>
}
<input type="submit" value="Add Medical Condition" />
</td>
}
这就是我在控制器中检索值的方式
public ActionResult AddMCondition(string txtMCondition, string[] RestrictedType)
{
//Code here...
}
AllExerciseTypes集合中只有 3 个项目。我注意到每个复选框都至少向控制器发送一个错误值,无论它是否被选中。如果我不选中任何复选框,我会在集合中得到 3 false。如果我选中 1 个复选框,我会得到 4 个值,即 1 个真值和 3 个假值,依此类推。当我检查所有这些时,我得到 3 个值,即 True、False、True、False、True 和 False。
有什么理由,复选框在每种情况下都至少发送错误?