MVC 复选框类型="隐藏"值在取消选中时未设置为 false,抛出"需要值错误"



我使用html助手在视图中列出了复选框列表,如下所示。它们不是必填字段。:-

@Html.CheckBoxFor(m=> m.List1[0].myClass.myValue)
@Html.CheckBoxFor(m=> m.List1[1].myClass.myValue)
@Html.CheckBoxFor(m=> m.List1[2].myClass.myValue)
@Html.CheckBoxFor(m=> m.List1[3].myClass.myValue)

myValue属性在类中定义如下:-

[XmlIgnore]
public bool myValue{ get; set; }

在提交表单时,每个复选框都会出现"A value if required"错误。在浏览器工具中检查html页面时。我发现美元化似乎是个问题:-

<input name="List1[0].myClass.myValue" type="hidden" value>

我不知道为什么当复选框未选中时,这个值甚至没有设置为false。我该如何避免"需要一个值"的验证错误。

当您在视图中放置复选框时,您总是会得到一个隐藏字段,在取消选中复选框时作为默认值。查看这些链接了解更多信息:

  • asp.net mvc:为什么Html.CheckBox会生成额外的隐藏输入
  • RazorViewEngineHTML.Checkbox方法创建一个隐藏的输入。为什么

在您的代码示例(输入元素)中,没有设置value,这是打字错误吗?

此外,您应该使用type="checkbox"进行输入,它们是否正确显示在html中?

相关内容

最新更新