【问题标题】:xVal and ASP.Net MVC 2 AddModelStateErrors ProblemxVal 和 ASP.Net MVC 2 AddModelStateErrors 问题
【发布时间】:2011-03-31 08:28:54
【问题描述】:

我有一个应用程序,我已经成功使用 xVal 有一段时间了。它最近更新到 MVC 2。

我在我的域模型上使用标准 DataAnnotations 属性,它还实现了调用 DataAnnotationsValidationRunner 的“Validate()”方法。如果有任何错误,该方法将引发 RulesException。

在我的控制器中,我使用非常典型的规则异常捕获

catch (RulesException e)
{
    e.AddModelStateErrors(ModelState, "err");
}

所有典型的东西,几乎直接来自示例,直到最近都正常工作(我怀疑问题是在我的 MVC1 -> MVC2 更新时开始的。

所以问题是这样的:当调用 AddModelStateErrors 方法时,我得到一个“System.EntryPointNotFoundException:找不到入口点”,它来自 System.Collections.Generic.ICollection1.get_Count() at System.Web.Mvc.Html.ValidationExtensions.ValidationMessageHelper(HtmlHelper htmlHelper, ModelMetadata modelMetadata, String expression, String validationMessage, IDictionary2 htmlAttributes)在 System.Web.Mvc.Html.ValidationExtensions.ValidationMessage(HtmlHelper htmlHelper, String modelName, String validationMessage, IDictionary`2 htmlAttributes) at ASP.views_user_edit_aspx.__RenderContent2...{剪掉,因为它是那里的标准}

我查看了 xVal 方法和 HtmlHelper 扩展的代码,但似乎无法弄清楚发生了什么。

有什么想法吗?

【问题讨论】:

  • 你有没有找到解决这个问题的方法?我们在升级 MVC 1 => MVC 3 时遇到了类似的问题

标签: asp.net-mvc validation asp.net-mvc-2 xval


【解决方案1】:

有同样的问题,但刚刚解决了:将以下内容添加到 web.config 或 app.config,以移动到 MVC2:

<runtime>
    <assemblyBinding
xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

或到 MVC3:

<runtime>
    <assemblyBinding
xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

【讨论】:

  • 谢谢,这解决了我遇到的问题。我仍然不明白为什么它会修复它,因为我引用的是 v2 程序集,但是放入 v3 重定向解决了这个问题!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多