Asp.Net ресурсы путаница - PullRequest
       12

Asp.Net ресурсы путаница

0 голосов
/ 02 августа 2011

Поэтому я пытаюсь использовать как локальные, так и глобальные ресурсы на простом сайте Net 3.5 / Mvc2.

Сначала я попытался установить свои сообщения проверки в глобальных ресурсах, но затем возникла первая проблема: установка глобального ресурса в атрибуте DataAnnotations не дает ошибок, но во время выполнения он просто не восстанавливает строки из него (без ошибок во время выполнения либо). Пример кода:

[Required(
        ErrorMessageResourceType = typeof(Resources.Global),
        ErrorMessageResourceName = "LastNameRequired")]
    public string LastName { get; set; }

Глобальные ресурсы нельзя сделать общедоступными (я думаю, что это проблема), поэтому я решил переместить сообщения для использования в DataAnnotations в локальные ресурсы:

[Required(
        ErrorMessageResourceType = typeof(Views.MyApp.App_LocalResources.Apply_aspx),
        ErrorMessageResourceName = "LastNameRequired")]
    public string LastName { get; set; }

Это привело меня к двум альтернативным проблемам: если я установил локальный ресурс для создания action = content, ресурсы читаются правильно из представления с использованием метода GetLocalResourceObject, но я получаю следующее при попытке прочитать их из DataAnnotations:

Не удалось найти ресурсы, подходящие для указанной культуры или нейтральной культуры. Убедитесь, что «MyNamespace.Website.Mvc.Views.MyApp.App_LocalResources.Apply.aspx.resources» был правильно встроен или связан со сборкой «MyNamespace.Website.Mvc» во время компиляции, или что все требуемые спутниковые сборки загружаются и полностью подписан.

Затем я попытался установить ресурс build action = внедренный ресурс. Таким образом, папка App_LocalResources не публикуется, и я получаю следующую ошибку при попытке прочитать локальные ресурсы из представления с помощью GetLocalResouceObject:

Класс ресурса для этой страницы не найден. Пожалуйста, проверьте, существует ли файл ресурсов, и попробуйте снова.

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

Что мне нужно сделать, чтобы все было гладко?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 02 августа 2011

Я нашел способ самостоятельно копать дальше.

Я пытался использовать "LocalResources", объявленные в папке Views из кода.В этом была проблема.

Правильный порядок действий - использование этих файлов ресурсов только для представлений.Затем для кода объявили папку App_LocalResources на корневом уровне и поместили туда файлы ресурсов, установив их в public.

Это работало.

0 голосов
/ 02 августа 2011

попробуйте ниже ссылки

http://haacked.com/archive/2009/12/12/localizing-aspnetmvc-validation.aspx

MVC Аннотации данных на разных языках?

если никто не работает для вас, дайте нам знать !!

...