rea*_*Jim 8 validation asp.net-mvc xval asp.net-mvc-2
我有一个应用程序,我已经成功使用xVal很长一段时间了.它最近更新为MVC 2.
我在我的域模型上使用标准的DataAnnotations属性,它还实现了一个调用DataAnnotationsValidationRunner的"Validate()"方法.如果有任何错误,该方法将抛出RulesException.
在我的控制器中,我使用了RulesException的非常典型的catch
catch (RulesException e)
{
e.AddModelStateErrors(ModelState, "err");
}
Run Code Online (Sandbox Code Playgroud)
所有典型的东西,几乎直接来自示例,直到最近工作正常(我怀疑问题始于我的MVC1 - > MVC2更新.
所以问题是:当调用AddModelStateErrors方法时,我1.get_Count() at System.Web.Mvc.Html.ValidationExtensions.ValidationMessageHelper(HtmlHelper htmlHelper, ModelMetadata modelMetadata, String expression, String validationMessage, IDictionary在System.Web.Mvc 收到一个"System.EntryPointNotFoundException:找不到入口点",它来自System.Collections.Generic.ICollection 2 htmlAttributes) ASP.views_user_edit_aspx.上的.Html.ValidationExtensions.ValidationMessage(HtmlHelper htmlHelper,String modelName,String validationMessage,IDictionary`2 htmlAttributes.)_ RenderContent2 ... {snipped,因为它是那里的标准}
我已经查看了xVal方法的代码和HtmlHelper扩展,我似乎无法弄清楚发生了什么.
有任何想法吗?
有同样的问题但只是解决了它:将以下内容添加到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>
Run Code Online (Sandbox Code Playgroud)
或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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
752 次 |
| 最近记录: |