带有复选框布尔值的剃刀页面处理程序不绑定
razor pages handler with checkbox boolean doesn't bind
我有一个包含多个输入的表单。我根据 ajax 和 Jquery 的 form.serialize()
发送表格。网络选项卡显示数据发送成功(welcomesCritiques: on, complete: on
).
在服务器端,我在自定义处理程序中捕获这些输入
public async Task<IActionResult> OnPostLoadBooksAsync(string search, bool welcomesCritiques, bool complete, int startIndex, int amount)
字符串和整数绑定得很好。但是布尔值总是错误的。当我用字符串替换布尔值时,我得到 "on".
这是一个已知问题吗?我怎样才能让 "on" 成为布尔值?
感谢您的帮助!
要绑定到布尔值,您需要将值设置为 "true",而不是默认值,即 "on":
<input type="checkbox" name="welcomesCritiques" value="true" />
只有选中复选框时才会提交该值。如果没有为 handler 参数提供值,它将默认为 false
.
在此处查看有关 Razor 表单中复选框的更多信息:https://www.learnrazorpages.com/razor-pages/forms/checkboxes
我有一个包含多个输入的表单。我根据 ajax 和 Jquery 的 form.serialize()
发送表格。网络选项卡显示数据发送成功(welcomesCritiques: on, complete: on
).
在服务器端,我在自定义处理程序中捕获这些输入
public async Task<IActionResult> OnPostLoadBooksAsync(string search, bool welcomesCritiques, bool complete, int startIndex, int amount)
字符串和整数绑定得很好。但是布尔值总是错误的。当我用字符串替换布尔值时,我得到 "on".
这是一个已知问题吗?我怎样才能让 "on" 成为布尔值?
感谢您的帮助!
要绑定到布尔值,您需要将值设置为 "true",而不是默认值,即 "on":
<input type="checkbox" name="welcomesCritiques" value="true" />
只有选中复选框时才会提交该值。如果没有为 handler 参数提供值,它将默认为 false
.
在此处查看有关 Razor 表单中复选框的更多信息:https://www.learnrazorpages.com/razor-pages/forms/checkboxes