Я новичок в черном искусстве разработки ASP .NET, так что простите, если это глупый вопрос.
Немного погуглив и прочитав хотя бы (некоторые из ...) ASP .NET 3.5 Unleashed, мне еще предстоит найти способ делать то, что я хочу - что обычно либо означает, что я пытаюсь сделать что-то глупое, либо это так очевидно, что я пропустил это:)
Я создаю серверный элемент управления для использования на нескольких сайтах, которые разрабатывает моя компания. В этом нет ничего особенного, просто стандартный элемент управления, который вы можете редактировать и создавать.
Для этого, естественно, требуется локализация некоторого текста.
Для меня естественным способом сделать это будет глобальный ресурс, названный в честь некоторого соглашения, которое проекты, включающие серверный элемент управления, могут затем заполнить локализованными данными.
Однако у меня возникли проблемы с доступом к этим ресурсам из моего компонента.
Создав в проекте A в папке App_GlobalResources файл ресурсов с именем CreateOrEditUserControl.da.resx (примечание: нужно ли мне добавлять папку App_GlobalResources в веб-конфигурацию или что-то в этом роде?). Проект A включает в себя CreateOrEditUserControl, который взят из проекта B и загружен через ссылку на сборку.
CreateOrEditUserControl.da.resx содержит ключ UserName, сопоставленный со строкой Brugernavn (это, как вы уже догадались, только датская локализация) *
Внутри моего элемента управления в методе CreateChildControls () (поскольку мне нужны здесь локализованные строки), я попытался получить доступ к ресурсам следующими способами:
HttpContext.GetGlobalResource("CreateOrEditUserControl","UserName");
HttpContext.GetGlobalResource("CreateOrEditUserControl.da","UserName");
HttpContext.GetGlobalResource("CreateOrEditUserControl.da.resx","UserName");
HttpContext.GetLocalResource("CreateOrEditUserControl.da.resx","UserName");
первые три из которых возвращают ноль, а последняя выдает исключение, поскольку у меня нет прав на указанный ресурс из моего компонента, что кажется логичным.
До сих пор мне приходилось прибегать к "хаку", при котором вы можете указать язык в строке запроса, а я вручную вставлю строки. Однако это нежелательно, поскольку любое изменение потребует изменения компонента, а не только пользователя ...
Как правильно это сделать - если есть?
Заранее спасибо!