将动态复选框列表绑定到模型在剃刀页面中不起作用


<div class="card shadow-card">
<div class="card-body form-check-inline">
@for (var i = 0; i < Model.fruites.Count(); i++)
{
<div class="form-check mr-3">
<input type="checkbox" value="@Model.fruites[i].Id" name="Model.AssignedFruite" />
<label>@Model.fruites[i].Name</label>
</div>
}
</div>
</div>

页面模型

[BindProperty]
public List<string> AssignedFruite { get; set; }

要将List<String>绑定到复选框,请确保每个复选框上的name属性相同,并且与要绑定的属性名称匹配。然后将每个项目的字符串分配给value属性:

<div class="card shadow-card">
<div class="card-body form-check-inline">
@for (var i = 0; i < Model.fruites.Count(); i++)
{
<div class="form-check mr-3">
<input type="checkbox" value="@Model.fruites[i].Name" name="AssignedFruite" />
<label>@Model.fruites[i].Name</label>
</div>
}
</div>
</div>

如果您实际上想要收集每个项目的Id而不是其Name,请改为绑定到List<int>(假设Id是int,而不是GUID(。

您正在尝试用CheckBox绑定列表。您应该将列表与DropDownList绑定,或者将bool与CheckBox绑定。否则,如果你必须将列表与复选框列表绑定,你可以阅读这篇文章

最新更新