Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 添加复选框列表(.net mvc)后,提交表单不再工作_C#_.net_Asp.net Mvc 4_Razor_Checkbox - Fatal编程技术网

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

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

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

代码如下:

复选框的输出:

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