带有复选框布尔值的剃须刀页面处理程序不绑定

时间:2019-01-24 08:06:53

标签: asp.net-core razor-pages asp.net-core-2.2

我有一个包含多个输入的表格。我使用Jquery的form.serialize()发送每个ajax表单。网络标签显示数据已成功发送(welcomesCritiques: on, complete: on)。

在服务器端,我在自定义处理程序中捕获了这些输入

public async Task<IActionResult> OnPostLoadBooksAsync(string search, bool welcomesCritiques, bool complete, int startIndex, int amount)

字符串和整数完美地绑定在一起。但是傻子总是假的。当我用字符串替换布尔值时,我会“ on”。

这是一个已知问题吗?我如何才能使“上”成为笨蛋?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

要绑定到布尔值,您需要将值设置为“ true”,而不是默认值,即“ on”:

<input type="checkbox" name="welcomesCritiques" value="true" />

只有选中此复选框,才会提交该值。如果没有为处理程序参数提供任何值,则默认为false

在此处查看有关剃刀形式的复选框的更多信息:https://www.learnrazorpages.com/razor-pages/forms/checkboxes