Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 带有复选框布尔值的razor页面处理程序未绑定_Asp.net Core_Razor Pages_Asp.net Core 2.2 - Fatal编程技术网

Asp.net core 带有复选框布尔值的razor页面处理程序未绑定

Asp.net core 带有复选框布尔值的razor页面处理程序未绑定,asp.net-core,razor-pages,asp.net-core-2.2,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,

我有一个有几个输入的表单。我使用Jquery的form.serialize按照ajax发送表单。“网络”选项卡显示数据已成功发送welcomesCritiques:on,complete:on

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

public async Task<IActionResult> OnPostLoadBooksAsync(string search, bool welcomesCritiques, bool complete, int startIndex, int amount)
字符串和整数绑定得非常好。但这些嘘声总是假的。当我用一根线替换布尔时,我就开始了

这是一个已知的问题吗?我怎样才能成为一个傻瓜


谢谢你的帮助

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

<input type="checkbox" name="welcomesCritiques" value="true" />
仅当选中复选框时,才会提交该值。如果没有为handler参数提供值,它将默认为false


有关Razor表单中复选框的更多信息,请参见此处:

要绑定到布尔值,您需要将值设置为true,而不是默认值,该值处于启用状态:

<input type="checkbox" name="welcomesCritiques" value="true" />
仅当选中复选框时,才会提交该值。如果没有为handler参数提供值,它将默认为false


更多关于Razor表单中的复选框的信息,请参见此处:

哦,我明白了,真奇怪。我实际上访问了该网站,但没有意识到我必须使用一个带有真/假复选框的隐藏字段。案件结案,非常感谢@Doidel隐藏字段由标记帮助器生成。如果不使用标记帮助器,则不需要包含隐藏字段。但不知何故,我必须将输入映射到true/false,否则处理程序将不会解析它,对吗?不一定是隐藏字段,但在某种程度上我必须这样做。或者,在处理程序中将我的布尔值作为字符串接受,并将其转换为我自己的。@Doidel否-您将value属性预设为true。看编辑后的答案啊,我明白了,谢谢你的澄清!很有魅力,非常感谢!哦,我明白了,真奇怪。我实际上访问了该网站,但没有意识到我必须使用一个带有真/假复选框的隐藏字段。案件结案,非常感谢@Doidel隐藏字段由标记帮助器生成。如果不使用标记帮助器,则不需要包含隐藏字段。但不知何故,我必须将输入映射到true/false,否则处理程序将不会解析它,对吗?不一定是隐藏字段,但在某种程度上我必须这样做。或者,在处理程序中将我的布尔值作为字符串接受,并将其转换为我自己的。@Doidel否-您将value属性预设为true。看编辑后的答案啊,我明白了,谢谢你的澄清!很有魅力,非常感谢!