Допустим, у нас есть такая структура сайта:
App_LocalResources
| - A.aspx.resx
| - B.aspx.resx
A.aspx
B.aspx
Теперь я использую HttpContext.GetLocalResourceObject ("~ / A.aspx", "Key1") в A.aspx.cs , и он отлично работает.
Но если я использую HttpContext.GetLocalResourceObject ("~ / A.aspx", "Key1") в B.aspx.cs , выдается исключение:
Класс ресурса для этой страницы не найден. Пожалуйста, проверьте, существует ли файл ресурсов, и попробуйте снова.
Сведения об исключении: System.InvalidOperationException: класс ресурсов для этой страницы не найден. Пожалуйста, проверьте, существует ли файл ресурса, и попробуйте снова.
Как я могу решить эту проблему? Я хочу читать локальные ресурсы с внешней страницы и не хочу сам читать файл .resx. Спасибо: -)
ОБНОВЛЕНИЕ: В моем случае есть несколько файлов "data.xml" (они находятся в разных каталогах и имеют элементы, подобные <key name='Key1' value='value1' />
), и их содержимое будет отображаться как HTML.
Но имена ключей в data.xml должны быть локализованы перед рендерингом (разные data.xml содержат разные ключи).
Например, в data.xml есть такой элемент:
<key name='CategoryId' value='3' />
В html-странице результатов я хочу отобразить «Category Id = 3» для культуры en-US и «类别 = 3» для культуры zh-CN и т. Д.
Поэтому я думаю, что могу создать несколько файлов по шаблону "data.xml.??-??.resx
" в папке App_LocalResources
, а затем использовать HttpContext.GetLocalResource()
для каждого файла data.xml для получения имен локализованных ключей. Таким образом, мне не нужно самому читать xml . Возможно ли это?