Как получить доступ к локальному ресурсу в теме со страницы ASP.NET?
Вопрос
У меня есть файл ресурса, размещенный в папке app_localresources внутри Папка для темы в app_themes, например,: app_themes theme1 app_localresources resources1.aspx.resx
Как я могу получить доступ к ресурсам в этом файле из веб -формы в моем проекте, предполагая, что веб -форма называется Resources1.aspx с темой = "theme1"?
Решение
Вы можете использовать выражение «ресурсов» для извлечения значений из файла ресурса, например:
<h1><%$ Resources: H1 %></h1>
В качестве альтернативы, и особенно если вы находитесь в коде, используйте getLocalresourceObject:
h1.InnerText = GetLocalResourceObject ( "H1" ).ToString ( );
РЕДАКТИРОВАТЬ: Иногда я отвечаю слишком быстро; Я не думаю, что темы локализуются в этом смысле, однако есть некоторые обходные пути. Вы можете иметь конкретные темы в файле ресурса и получить доступ к ним в зависимости от текущей темы.
Другие советы
Вы можете получить доступ к GlobalResources, расположенным в app_globalresources generic.resx с;
<%= Resources.Generic.Cancel %>
Локальные ресурсы находятся в папке app_localresources, которая не обязательно должна быть помещена в корневую папку. Для локальной сети это было бы;
<%$ Resources:Cancel%>
или же
string labelCancel = GetLocalResourceObject("Cancel").ToString();
Что касается размещения файлов ресурсов в папки ваших тем; Я бы оставил свои темы и ресурсы разделенными и программно переключаться между различными ресурсами в мастере/базовом возрасте сайта или тому, как используя глобальные сечения.