我使用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中?