我有一个包含多个输入的表单。我使用 Jquery 的 form.serialize()
发送每个 ajax 的表单。网络标签显示数据发送成功(welcomesCritiques: on, complete: on
)。
在服务器端,我在自定义处理程序中捕获这些输入
public async Task<IActionResult> OnPostLoadBooksAsync(string search, bool welcomesCritiques, bool complete, int startIndex, int amount)
字符串和整数绑定(bind)得很好。但是 bool 值总是错误的。当我用字符串替换 bool 值时,我得到“on”。
这是一个已知问题吗?如何让“on”变成 bool 值?
感谢您的帮助!
最佳答案
要绑定(bind)到 bool 值,您需要将值设置为“true”,而不是默认值,即“on”:
<input type="checkbox" name="welcomesCritiques" value="true" />
只有选中复选框时才会提交该值。如果没有为 handler 参数提供值,它将默认为 false
。
在此处查看有关 Razor 表单中复选框的更多信息:https://www.learnrazorpages.com/razor-pages/forms/checkboxes
关于asp.net-core - 带有复选框 bool 值的 Razor 页面处理程序不绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54341948/