Как получить доступ к локальному ресурсу в теме со страницы ASP.net? - PullRequest
3 голосов
/ 16 февраля 2009

У меня есть файл ресурсов, помещенный в папку App_LocalResources внутри папки для темы в App_Themes, например: \ App_Themes \ Theme1 \ App_LocalResources \ Resources1.aspx.resx

Как я могу получить доступ к ресурсам в этом файле из веб-формы в моем проекте, если веб-форма называется Resources1.aspx, имеющей Theme = "Theme1"?

Ответы [ 2 ]

1 голос
/ 16 февраля 2009

Вы можете получить доступ к глобальным ресурсам, расположенным в \ App_GlobalResources \ Generic.resx, с помощью;

<%= Resources.Generic.Cancel %>

Локальные ресурсы находятся в папке App_LocalResources, которую не обязательно размещать в корневой папке. Для локального ресурса это будет;

<%$ Resources:Cancel%>

или

string labelCancel = GetLocalResourceObject("Cancel").ToString();

Что касается размещения файлов ресурсов в папках вашей темы; Я бы держал свои темы и ресурсы разделенными и программно переключался между различными ресурсами на главной / базовой странице сайта, используя глобальные ресурсы.

1 голос
/ 16 февраля 2009

Вы можете использовать выражение «Ресурсы» для извлечения значений из файла ресурсов, например:

<h1><%$ Resources: H1 %></h1>

В качестве альтернативы, и особенно если вы находитесь в выделенном коде, используйте GetLocalResourceObject:

h1.InnerText = GetLocalResourceObject ( "H1" ).ToString ( );

РЕДАКТИРОВАТЬ: Иногда я отвечаю слишком быстро; я не думаю, что темы локализуются в этом смысле, однако есть некоторые обходные пути. Вы можете иметь элементы, относящиеся к теме, в файле ресурсов и получать к ним доступ в зависимости от текущей темы.

...