Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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
Jquery ASP.NET MVC 2使用EnableClientValidation()验证具有数据批注的强类型模型列表时发生异常_Jquery_Asp.net Mvc_Validation_Client Side - Fatal编程技术网

Jquery ASP.NET MVC 2使用EnableClientValidation()验证具有数据批注的强类型模型列表时发生异常

Jquery ASP.NET MVC 2使用EnableClientValidation()验证具有数据批注的强类型模型列表时发生异常,jquery,asp.net-mvc,validation,client-side,Jquery,Asp.net Mvc,Validation,Client Side,下面是用于向实体框架模型添加数据注释验证器的buddy类: [MetadataType(typeof(Result_Validation))] public partial class Result { } [Bind(Include = "Title,Description")] public class Result_Validation { [Required(ErrorMessage = "Title is required")] public string Titl

下面是用于向实体框架模型添加数据注释验证器的buddy类:

[MetadataType(typeof(Result_Validation))]
public partial class Result
{

}

[Bind(Include = "Title,Description")]
public class Result_Validation
{
    [Required(ErrorMessage = "Title is required")]
    public string Title { get; set; }

    [Required(ErrorMessage = "Description is required")]
    public string Description { get; set; }
}
以下是我的看法:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IList<Result>>" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>Test</title>
</head>
<body>
  <% Html.EnableClientValidation(); %>
  <% using (Html.BeginForm()) {%>
  <%: Html.ValidationSummary(true) %>
  <fieldset>
    <% for (int i = 0; i < 4; i++) { %>
      <div class="editor-label">
        <%: Html.LabelFor(model => model[i].Title)%>
      </div>
      <div class="editor-field">
        <%: Html.TextBoxFor(model => model[i].Title)%>
        <%: Html.ValidationMessageFor(model => model[i].Title)%>
      </div>
      <div class="editor-label">
        <%: Html.LabelFor(model => model[i].Description)%>
      </div>
      <div class="editor-field">
        <%: Html.TextBoxFor(model => model[i].Description)%>
        <%: Html.ValidationMessageFor(model => model[i].Description)%>
      </div>
    <% } %>
    <p>
      <input type="submit" value="Create" />
    </p>
  </fieldset>
  <% } %>
</body>
</html>

试验
型号[i].标题)%>
型号[i].标题)%>
型号[i].标题)%>
型号[i].说明)%>
型号[i].说明)%>
型号[i].说明)%>

这对于服务器端验证很好,但只要我删除Html.EnableClientValidation();在那里我得到了一个错误:“给定的键在字典中不存在。”

…它指向视图中的这条线:

<%: Html.ValidationMessageFor(model => model[i].Title)%>
model[i].Title)%>
试着放

<% Html.ValidationSummary(); %>

以前

<% Html.EnableClientValidation(); %>

试着放

<% Html.ValidationSummary(); %>

以前

<% Html.EnableClientValidation(); %>