asp.net MVC3 DefaultModelBinder сообщения об ошибках ключи - PullRequest
4 голосов
/ 31 августа 2011

Здесь много вопросов (и ответов) на stackoverflow и других сайтах о переводе сообщений об ошибках по умолчанию, предоставляемых DefaultModelBinder, таких как этот или этот .

Все ответы на эти вопросы в основном предлагают создать файл ресурсов (resx) в App_GlobalResources и поместить сообщение для "PropertyValueInvalid".

Это нормально, работает ,но есть также другое сообщение (например, «Значение xxx должно быть числом»), и большой вопрос: где, черт возьми, я могу иметь список используемых ключей сообщений для проверки привязки модели, с описанием контекста, для которого они используются, чтобы я мог перевести каждый из них?

1 Ответ

8 голосов
/ 03 июня 2012

Если в методе Application_Start установлено значение DefaultModelBinder.ResourceClassKey = "ResourceFileName";, класс DefaultModelBinder использует ключи ресурсов, отличные от определенных в файле ресурсов, используемом Asp.Net MVC.

При разборке DefaultModelBinder есть метод GetUserResourceString, который читает из файла пользовательских ресурсов. Эта функция вызывается только дважды с этими клавишами сообщений:

  • PropertyValueRequired (Требуется значение.)
  • PropertyValueInvalid (Значение {0} недопустимо для {1}.)

Это единственные сообщения, которые можно установить для DefaultModelBinder в MVC3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...