当ModelState无效且ASP.NET Core确实返回Page()时,复选框列表值为空。

问题描述 投票:0回答:1
我创建了一个ASP.NET Core 3.1项目。我有一个带有几个复选框列表的表单。我可以将值放入POST中的属性中,并正确填写它们(例如列出SelectedItems)。但是,对于某些自定义字段,我必须在OnPost()方法中进行验证,如果不满足条件或ModelState无效,则它将返回Page()。通常,我希望表单中填充的每个属性都仍然被填充,但是复选框始终为空,并且未选中任何一个。其他数据(单选按钮,文本框等)仍被填写。

我什至试图将值放在Razor页面中,但即使如此,两个复选框都没有选中。

以下是其中一个复选框的示例:在Razor页面中:

@for (var i = 1; i <= 10; i++){ <input name="AreChecked" type="checkbox" id="@i" value="@i" /> @i<br /> <input type="hidden" value="true" id="@i" name="AreChecked" />}

隐藏代码:

[BindProperties] public class TestFormModel : PageModel { [BindProperty] public List<int> AreChecked { get; set; }} public IActionResult OnPost() { //some other form check statements here //... if (ModelState.IsValid) { //process data code... } return Page(); }

有人可以帮我吗?

我创建了一个ASP.NET Core 3.1项目。我有一个带有几个复选框列表的表单。我可以将值放入POST中的属性中,并正确填写它们(例如列出SelectedItems)。 ...

asp.net-core checkboxlist
1个回答
0
投票
您可以使用JQuery实现,如下所示:
© www.soinside.com 2019 - 2024. All rights reserved.