我已经在现有表单中添加了一个复选框列表,现在我再也无法提交了。这是因为为复选框添加了data-val-required字段?如果是这样,我该如何解决?
这是代码:
输出复选框:
<input name="[0].Id" type="hidden" value="en" />
<input name="[0].Name" type="hidden" value="English" />
<div>
<input data-val="true" data-val-required="The IsChecked field is required." name="[0].IsChecked" type="checkbox" value="true" />
<input name="[0].IsChecked" type="hidden" value="false" />
<label for="">English</label>
</div>
视图模型:
public class CheckBoxViewModel
{
public string Id { get; set; }
public string Name { get; set; }
public bool IsChecked { get; set; }
}
部分观点:
@model IEnumerable<CheckBoxViewModel>
@using (Html.BeginForm())
{
@Html.EditorForModel()
}
编辑模板:
@model CloudJunction.Web.MVC4.CloudJunction.Modules.CheckBoxViewModel
@Html.HiddenFor(x => x.Id)
@Html.HiddenFor(x => x.Name)
<div>
@Html.CheckBoxFor(x => x.IsChecked)
@Html.LabelFor(x => x.IsChecked, Model.Name)
</div>
主要观点:
@using (Html.BeginForm())
{
// lots of other form items
@Html.Partial("CheckboxList", Model.LanguageCheckboxes)
<input type="submit" value="Submit" />
}
我确实注意到它会创建一个额外的表单标签,这可能导致问题还是被忽略?
答案 0 :(得分:3)
在局部视图中可能存在一些绑定或构建错误。因此,当它运行时,会有异常,并且提交按钮不会呈现。
请检查输出窗口。
清理并重建代码,检查部分视图,是否有任何错误?
如果没有错误,则嵌套表单将负责该问题。