gpt4 book ai didi

asp.net-mvc - 这是 CheckBox HtmlHelper 的意外行为吗?

转载 作者:行者123 更新时间:2023-12-04 07:08:10 25 4
gpt4 key购买 nike

我的 View 页面包含一个按示例搜索的表单,其中包含以下复选框代码:

<td>
<label for="HasProcessErrors">Has Errors:</label>
<%= Html.CheckBox("HasProcessErrors", crit.HasProcessErrors) %>
</td>

crit 对象 HasProcessErrors 属性是一个初始值为 false 的 bool 值。当我查看渲染页面的源代码时,我看到帮助程序生成了以下 HTML:
<td>
<label for="HasProcessErrors">Has Errors:</label>
<input id="HasProcessErrors" name="HasProcessErrors" type="checkbox" value="true" /><input name="HasProcessErrors" type="hidden" value="false" />
</td>

我是否在这里错误地使用了 CheckBox 助手,或者发生了什么奇怪的事情?似乎它应该生成一个带有checked =“”的复选框类型的输入。

感谢您的任何想法。

最佳答案

是的,这是正确的。

复选框的语义与你想象的有点不同;一个选中的复选框不会发布一个指示其选中/未选中状态的值,而是发布其“值”属性中的任何内容,而未选中的复选框则不发布任何内容。

由于还有一个同名的隐藏字段,如果您调试表单提交,您会发现选中的复选框的值为“true,false”,而未选中的复选框的值为“false”

您可以通过测试是否包含“true”来确定是否选中了复选框。

公共(public) ActionResult(FormCollection 表单)
{
bool check = form["checkbox_id"].ToString().Contains('true');
}

关于asp.net-mvc - 这是 CheckBox HtmlHelper 的意外行为吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/787332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com