Глобализация в контроллерах ASP.Net MVC - PullRequest
1 голос
/ 20 августа 2010

У меня такое ощущение, что это что-то очень очевидное, что я скучаю, но здесь идет.

Я пытаюсь настроить несколько языков в проекте ASP.Net MVC (C #, MVC2, .Net4.0). Однако у меня есть несколько случаев, когда я хочу переводить фразы внутри контроллера (в основном сообщения об ошибках / успехах). Тем не менее, кажется, что каждый метод, который я пробую, это либо protected, либо internal. Как получить доступ к resx файлам из моего контроллера?

Ответы [ 2 ]

2 голосов
/ 20 августа 2010

Это особая проблема презентации, я думаю, что лучший подход - это справиться на уровне просмотра. У вас будет меньше проблем, если вы получите доступ к ресурсам из View. Также обратите внимание, что доступ к ресурсам из контроллеров делает их менее тестируемыми, потому что при доступе к ресурсу (по умолчанию) менеджер ресурсов ищет определенный файл, который не найден при тестировании.

1 голос
/ 20 августа 2010

Убедитесь, что модификатор класса resx, созданного для вас, равен Public.Когда вы редактируете файл resx, вы увидите выпадающий список с модификатором в правом верхнем углу (близко к вертикальной середине экрана).

Однако учтите, что у вас может бытьViewModel позаботится о локализации проверочных сообщений, украшая различные свойства с помощью DataAnnotations и файлов ресурсов.

...