C# 添加复选框列表(.net mvc)后,提交表单不再工作
我已经在现有表单中添加了一个复选框列表,现在我不能再提交了。这是因为为复选框添加了数据val必填字段吗?如果是,我如何修复它 代码如下: 复选框的输出:C# 添加复选框列表(.net mvc)后,提交表单不再工作,c#,.net,asp.net-mvc-4,razor,checkbox,C#,.net,Asp.net Mvc 4,Razor,Checkbox,我已经在现有表单中添加了一个复选框列表,现在我不能再提交了。这是因为为复选框添加了数据val必填字段吗?如果是,我如何修复它 代码如下: 复选框的输出: <input name="[0].Id" type="hidden" value="en" /> <input name="[0].Name" type="hidden" value="English" /> <div> <input data-val="true" data-val-requi
<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>
局部视图:
@model IEnumerable<CheckBoxViewModel>
@using (Html.BeginForm())
{
@Html.EditorForModel()
}
@model IEnumerable
@使用(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>
@model CloudJunction.Web.MVC4.CloudJunction.Modules.CheckBoxViewModel
@Html.HiddenFor(x=>x.Id)
@Html.HiddenFor(x=>x.Name)
@Html.CheckBoxFor(x=>x.IsChecked)
@LabelFor(x=>x.IsChecked,Model.Name)
主要观点:
@using (Html.BeginForm())
{
// lots of other form items
@Html.Partial("CheckboxList", Model.LanguageCheckboxes)
<input type="submit" value="Submit" />
}
@使用(Html.BeginForm())
{
//很多其他形式的项目
@Html.Partial(“复选框列表”,Model.language复选框)
}
我确实注意到它创建了一个额外的表单标记,这可能是导致问题的原因,还是它只是被忽略了?部分视图中可能存在一些绑定或构建错误。因此,当它运行时,将出现异常,并且提交按钮不是渲染
请检查输出窗口
清理并重建代码,检查局部视图,是否有任何错误
如果没有错误,那么负责该问题的嵌套表单将无法看到任何错误。不幸的是,提交按钮正在呈现,只是我单击它时什么也没有发生。然后嵌套表单将解决问题。只需删除内部表单即可。正如我看到的,你没有用它做任何事情。转到局部视图并删除@使用带括号的(Html.BeginForm())。然后离开编辑模式。也许可以建造。如果不是,我会向前看:对不起,我是瞎子/笨蛋,现在就删除它!
@using (Html.BeginForm())
{
// lots of other form items
@Html.Partial("CheckboxList", Model.LanguageCheckboxes)
<input type="submit" value="Submit" />
}