添加复选框列表后提交表单不再工作(.net mvc razor)



我已经在现有表单中添加了一个复选框列表,现在我不能再提交它了。这是因为为复选框添加了一个数据值必需字段吗?如果有,我该如何解决?

这是代码:

复选框输出:

<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>

ViewModel:

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" />
}

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

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

请检查输出窗口

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

如果没有错误,那么嵌套表单将对问题负责

最新更新