Как заменить стандартное сообщение об ошибке ModelState в Asp.net MVC 2? - PullRequest
6 голосов
/ 08 октября 2009

Мне нужно заменить ресурс состояния модели (на другой язык).

Я видел некоторые ответы на вопрос выше, но, к сожалению, я не смог заставить его работать. Любой подробный ответ или пример будет оценен.

Спасибо.

Ответы [ 4 ]

12 голосов
/ 09 октября 2009

Я не знаю о v2, но это работает на v1:

  1. Добавить файл ресурса в App_GlobalResources.
  2. В файле ресурсов вы можете определить строки с именами PropertyValueInvalid и PropertyValueRequired.
  3. В событии Application_Start global.asax установлено System.Web.Mvc.DefaultModelBinder.ResourceClassKey = "resource file name".
9 голосов
/ 22 января 2010

Понял.

В ASP.NET MVC 2 RC это PropertyValueInvalid , а не InvalidPropertyValue .

2 голосов
/ 01 мая 2010

Попробуйте использовать: <% = Html.ValidationMessage ("Price")%> без звездочки "*".

1 голос
/ 03 марта 2011

Синтия, попробуйте добавить это в свой 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, чтобы найти правильный ресурс

...