Asp.net mvc 我的部分视图在验证时没有显示错误,在错误时我的两个视图都被打开

Asp.net mvc 我的部分视图在验证时没有显示错误,在错误时我的两个视图都被打开,asp.net-mvc,asp.net-mvc-4,razor,Asp.net Mvc,Asp.net Mvc 4,Razor,在我的两个部分观点中,我面临着验证问题 \u partialA.cshtml @model demo3.Models.ModelA @using (Html.BeginForm("TEST", "Home")) { <h2>_partialA</h2> <div> @Html.EditorFor(m => m.EmployeeId) @Html.ValidationMessageFor(m => m.Empl

在我的两个部分观点中,我面临着验证问题

\u partialA.cshtml

@model demo3.Models.ModelA

   @using (Html.BeginForm("TEST", "Home"))    {

<h2>_partialA</h2>
<div>
     @Html.EditorFor(m => m.EmployeeId)  
     @Html.ValidationMessageFor(m => m.EmployeeId) 
</div>
<div>
     @Html.EditorFor(m => m.EmployeeName)
     @Html.ValidationMessageFor(m => m.EmployeeName) 
</div>
 <input class="mainbutton" type="submit" value="TEST"/><br />
 }
 @model demo3.Models.ModelB
      @using (Html.BeginForm("CreateAgreement", "Home"))
            {

<h2>_partialB</h2>
<div>
    @Html.EditorFor(m => m.Comapny)
    @Html.ValidationMessageFor(m => m.Comapny)
</div>
<div>
    @Html.EditorFor(m => m.FisacalYear)
    @Html.ValidationMessageFor(m => m.FisacalYear)  </div>
  <input class="mainbutton" type="submit" value="CreateAgreement"/><br />
 }

现在,我在单击按钮时没有收到任何错误消息。还有一件事。我的两个视图都被打开。单击按钮时。如何防止出现这种情况?

要验证表单,请检查以下步骤:

1) 在局部视图中,将布局设置为
null

@{
    Layout = null;
}
2) 在表单之前添加以下脚本:

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"></script>

@using (Html.BeginForm("CreateAgreement", "Home"))
 {

4) 如果在模型中添加了注释并显示了错误消息,则该注释将起作用

你刚才问了一个非常类似的问题。你自己也在试图弄清楚什么吗?我在上面的代码中写了if else,我正在试图弄清楚..如何在局部视图中进行验证..如果它是上面的@Ekonomik代码,你的模型有验证属性吗?您是否在代码中设置了断点以查看您是否真正进入了post方法?通常,一个页面上有多个表单是不好的,除非您在客户端处理post并禁用默认行为。是的,我的模型中有必需的数据批注。我正在使用post方法。它正在工作…但我的第一个局部视图正在显示..而不是包含锚定标记的索引页面
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"></script>

@using (Html.BeginForm("CreateAgreement", "Home"))
 {
@using (Html.BeginForm("CreateAgreement", "Home"))
 {
     @Html.ValidationSummary(true)