You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 7 MVC中复选框值无法回传至控制器问题排查

问题原因及解决方法

你的问题出在复选框的value=""设置上,ASP.NET Core模型绑定无法将空字符串转换为bool类型,导致选中状态无法正确回传。以下是两种解决方式:

方式一:移除手动设置的空value属性

直接去掉value="",让asp-for标签助手自动生成正确的value值(默认是"true"),这样选中时表单会提交true,能被正确绑定到IsSelected字段:

<td>
    <input asp-for="@Model.PeopleToChooseFrom[i].IsSelected" type="checkbox" />
</td>

方式二:添加对应隐藏字段处理未选中情况

如果需要确保无论复选框是否选中,都能提交对应值,可以为每个复选框添加一个隐藏字段,未选中时提交false,选中时复选框的true会覆盖隐藏字段的值:

<td>
    <input asp-for="@Model.PeopleToChooseFrom[i].IsSelected" type="checkbox" />
    <input asp-for="@Model.PeopleToChooseFrom[i].IsSelected" type="hidden" value="false" />
</td>

另外注意你视图中的隐藏字段代码有语法错误:<input asp-for="@Model.PeopleToChooseFrom[i].Id" type="hidden" .>,末尾的.需要删除,修正为:

<input asp-for="@Model.PeopleToChooseFrom[i].Id" type="hidden" />

内容的提问来源于stack exchange,提问作者Currie Dail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 00:40:21