Пометка HTML-элементов, которые содержат контент, предоставленный поставщиком ресурсов ASP - PullRequest
1 голос
/ 02 мая 2011

В настоящее время я работаю над проектом веб-форм ASP.net, в котором я хотел бы указать пользователю, какие элементы на текущей странице содержат локализованные ресурсы.

Чтобы определить, какие элементы HTML содержат, какие локализованыРесурсы.Я хотел бы пометить все визуализированные элементы HTML, ресурс которых был получен из ResourceProvider при отображении страницы.Тем самым создается сопоставление между элементом HTML и используемым ресурсом (ами).

Пометка будет выполняться путем добавления атрибута data-localized к элементу html.Атрибут будет содержать используемые идентификаторы ресурса (т. Е. Имена файлов resx и ключи ресурсов), а затем, когда в браузере отобразится страница, javascript будет использовать эту информацию для любых действий.

Пока чтоЯ заменил поставщика ресурсов по умолчанию своим собственным поставщиком, который извлекает ресурсы из базы данных вместо обычных файлов .resx (как описано в этой статье ).Это дает мне информацию обо всех используемых ресурсах, и, регистрируя их в HttpContext, я знаю все ресурсы, используемые для текущей страницы.

Теперь для сопоставления, потому что локализованный ресурс не всегда должен возникатьвнутри HTML-элемента (например, это может быть просто строка, полученная с помощью элемента управления Literal).Я ввел новый CompositeControl, который оборачивает раздел, содержащий локализованные ресурсы, в <div data-localized=""> </div>.

Мой вопрос: Как я могу сопоставить оболочку с ресурсами, используемыми ее дочерними элементами?

1 Ответ

1 голос
/ 02 мая 2011

Поскольку вы собираетесь постобработать данные с помощью JavaScript, вы можете подумать о добавлении того, что вам нужно в виде префикса и разделителя, к фактическому переведенному тексту, например, «Образец текста» станет «## strings.resx ## login.form.sample.text ## Образец текста ".
Ваш скрипт на стороне клиента будет затем искать ## разделители и удалять их (или делать что угодно) со страницы.

Я знаюэто не то, о чем вы просили, но я считаю, что это проще и легче осуществить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...