【问题标题】:Custom MVC Error Message Localization自定义 MVC 错误消息本地化
【发布时间】:2010-04-13 18:13:50
【问题描述】:

我想使用RequiredAttribute 和RangeAttribute 等属性在我的模型上本地化我的错误消息。我在 Visual Studio 2010 中使用 ASP.NET MVC2。

如果我的本地化资源位于 resx 资源文件中,这真的很容易……使用 ErrorMessageResourceName 和 ErrorMessageResourceType……但是,我需要将它与自定义本地化框架集成。

我已经在 web.config 的全球化部分设置了 resourceProviderFactoryType,但是 MVC 没有使用它。它尝试访问返回本地化字符串的资源文件上的静态属性。

这是调用堆栈...

System.ComponentModel.DataAnnotations.ValidationAttribute.SetResourceAccessorByPropertyLookup() +56576
   System.ComponentModel.DataAnnotations.ValidationAttribute.SetupResourceAccessor() +146
   System.ComponentModel.DataAnnotations.ValidationAttribute.get_ErrorMessageString() +12
   System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(String name) +33
   System.Web.Mvc.DataAnnotationsModelValidator.get_ErrorMessage() +31
   System.Web.Mvc.RequiredAttributeAdapter.GetClientValidationRules() +46
   System.Web.Mvc.Html.ValidationExtensions.<ApplyFieldValidationMetadata>b__0(ModelValidator v) +10
   System.Linq.<SelectManyIterator>d__14`2.MoveNext() +238
   System.Web.Mvc.Html.ValidationExtensions.ApplyFieldValidationMetadata(HtmlHelper htmlHelper, ModelMetadata modelMetadata, String modelName) +207
   System.Web.Mvc.Html.ValidationExtensions.ValidationMessageHelper(HtmlHelper htmlHelper, ModelMetadata modelMetadata, String expression, String validationMessage, IDictionary`2 htmlAttributes) +527
   System.Web.Mvc.Html.ValidationExtensions.ValidationMessageFor(HtmlHelper`1 htmlHelper, Expression`1 expression, String validationMessage, IDictionary`2 htmlAttributes) +82
   System.Web.Mvc.Html.ValidationExtensions.ValidationMessageFor(HtmlHelper`1 htmlHelper, Expression`1 expression) +75

有谁知道我是否有可能以某种方式覆盖 MVC 检索要显示的错误消息的方式?

谢谢 k

【问题讨论】:

    标签: asp.net-mvc localization


    【解决方案1】:

    我将创建一个继承自标准 Mvc HandleError 类属性的自定义类属性.​​..

    http://blog.dantup.com/2009/04/aspnet-mvc-handleerror-attribute-custom.html

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-10
      相关资源
      最近更新 更多