В настоящее время я работаю над проектом веб-форм ASP.net, в котором я хотел бы указать пользователю, какие элементы на текущей странице содержат локализованные ресурсы.
Чтобы определить, какие элементы HTML содержат, какие локализованыРесурсы.Я хотел бы пометить все визуализированные элементы HTML, ресурс которых был получен из ResourceProvider при отображении страницы.Тем самым создается сопоставление между элементом HTML и используемым ресурсом (ами).
Пометка будет выполняться путем добавления атрибута data-localized
к элементу html.Атрибут будет содержать используемые идентификаторы ресурса (т. Е. Имена файлов resx и ключи ресурсов), а затем, когда в браузере отобразится страница, javascript будет использовать эту информацию для любых действий.
Пока чтоЯ заменил поставщика ресурсов по умолчанию своим собственным поставщиком, который извлекает ресурсы из базы данных вместо обычных файлов .resx (как описано в этой статье ).Это дает мне информацию обо всех используемых ресурсах, и, регистрируя их в HttpContext, я знаю все ресурсы, используемые для текущей страницы.
Теперь для сопоставления, потому что локализованный ресурс не всегда должен возникатьвнутри HTML-элемента (например, это может быть просто строка, полученная с помощью элемента управления Literal
).Я ввел новый CompositeControl
, который оборачивает раздел, содержащий локализованные ресурсы, в <div data-localized=""> </div>
.
Мой вопрос: Как я могу сопоставить оболочку с ресурсами, используемыми ее дочерними элементами?