如何在Asp.net MVC 2中替换默认的ModelState错误消息?

时间:2009-10-08 16:17:10

标签: asp.net-mvc file resources modelstate

我需要替换模型状态资源(换成另一种语言)。

我已经看到了上述问题的一些答案,但不幸的是我无法使其发挥作用。 任何详细的答案或例子都会受到批评。

谢谢。

4 个答案:

答案 0 :(得分:12)

我不知道v2,但这适用于v1:

  1. 在App_GlobalResources中添加资源文件。
  2. 在资源文件中,您可以定义名为PropertyValueInvalidPropertyValueRequired的字符串。
  3. 在Application_Start global.asax事件集System.Web.Mvc.DefaultModelBinder.ResourceClassKey = "resource file name"

答案 1 :(得分:9)

得到它。

在ASP.NET MVC 2 RC中,它是 PropertyValueInvalid ,而不是 InvalidPropertyValue

答案 2 :(得分:2)

尝试使用:<%= Html.ValidationMessage(“Price”)%>没有明星“*”。

答案 3 :(得分:1)

Cynthia,尝试将此添加到您的web.config

  <compilation debug="true" targetFramework="4.0">
      <buildProviders>
        <add extension=".resx" type="System.Web.Compilation.ResXBuildProvider"/>
        <add extension=".resources" type="System.Web.Compilation.ResourcesBuildProvider"/>
      </buildProviders>
  </compilation>

MVC调用httpContext.GetGlobalResourceObject(ResourceClassKey, "InvalidPropertyValue", CultureInfo.CurrentUICulture)来查找消息,有时你必须将这些提供者添加到GetGlobalResourceObject中找到正确的资源