添加复选框列表后,提交表单不再有效(.net mvc razor)

时间:2014-03-14 09:45:56

标签: c# .net asp.net-mvc-4 razor checkbox

我已经在现有表单中添加了一个复选框列表,现在我再也无法提交了。这是因为为复选框添加了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" />
}

我确实注意到它会创建一个额外的表单标签,这可能导致问题还是被忽略?

1 个答案:

答案 0 :(得分:3)

在局部视图中可能存在一些绑定构建错误。因此,当它运行时,会有异常,并且提交按钮不会呈现。

请检查输出窗口

清理重建代码,检查部分视图,是否有任何错误?

如果没有错误,则嵌套表单将负责该问题