【发布时间】:2020-07-10 20:26:01
【问题描述】:
所以我有这个表格,里面有这个
<div class="form-group">
@*<div class="form-check form-check-box">
@for (int i = 0; i < Model.Features.Count; i++)
{
<div class="form-check form-check-box">
<input class="form-check-input" type="checkbox" asp-for="@Model.Features[i].Selected" value="@Model.Features[i].Text">
<label class="form-check-label" asp-for="@Model.Features[i].Text">@Model.Features[i].Text</label>
</div>
}
</div>
当我发布表单并检查 SelectedListItem 的属性时,它看起来像这样
尽管Selected 应该是True,因为我检查了它。表单中的其他所有内容都可以正常发布,例如文本输入很好地绑定到我的 ProductModel 中的字符串 Text 属性,我相信问题出在我使用复选框元素属性的方式上。
所以我可以看到复选框,我可以检查它们等,但是当我发布表单时,与复选框相关的任何内容都不适用于 ProductModel
public class ProductModel
{
public string Title { get; set; }
public IList<SelectListItem> Features { get; set; }
}
这就是我为视图设置模型的方式
public IActionResult PostAd()
{
var model = new ProductModel
{
Features = new List<SelectListItem>()
{
new SelectListItem { Text = "Camera", Value = "Camera" },
new SelectListItem { Text = "Touch Screen", Value = "Touch Screen" }
}
};
return View(model);
}
如何正确使用复选框,以便在发布表单时将数据传递给模型? 这是发布时触发的操作
[HttpPost]
public IActionResult CreateAd(ProductModel Product)
{
return View("Index");
}
【问题讨论】:
标签: c# asp.net .net asp.net-mvc asp.net-core