Как я могу искать экземпляры статического текста в разметке страниц и элементов управления ASP.NET? - PullRequest
1 голос
/ 01 декабря 2011

У меня есть интернационализированное веб-приложение, в котором весь текст , который в конечном итоге отправляется в браузер, генерируется кодом, либо пользовательскими элементами управления, которые переопределяют Render, либо кодом, который устанавливаетText из Label и т.д. элементов управления.

Например, вместо aspx, содержащего

<h2>Subtitle</h2>
<p>Some paragraph</p>

, это приложение будет иметь вместо

<h2><asp:Label runat="server" ID="SubTitle" /></h2>
<p><mycontrols:Literal runat="server" ID="Paragraph" /></p>

фактический текст предоставляется только во время выполнения.

Я хотел бы убедиться, что я случайно не оставил статический текст в разметке.Однако способы, которыми я могу думать обо всех, имеют недостатки:

  • Я не могу использовать инструмент, который пытается проанализировать разметку как xml, потому что разметка *.as?x определенно недопустима xml
  • Я даже не могу использовать html-парсер (такой как HtmlAgilityPack), потому что *.as?x разметка (помните, что это делается до того, как она будет обработана ASP.NET) также не обязательно является допустимой html (рассмотрим, как шаблоны повторителя могут чередоватьсятеги)
  • Простое использование Visual Studio Find не поможет мне найти только статический текст, а не, скажем, имена классов CSS

Есть ли другой способ, кроме ручной проверки каждой страницы

1 Ответ

2 голосов
/ 01 декабря 2011

Хорошо, так что, если это сайт, поддерживающий интернационализацию - укажите на него одно из многих бесплатных приложений для загрузки веб-сайтов - и вытяните вывод на диск. Запустите его на французском (или на ваш язык), а затем на немецком. Любые текстовые строки с жестким кодом не изменятся. Затем вам нужно будет найти инструмент WinMerge (я думаю, что WinMerge может делать папки) или написать что-то, что может сравнить файл с результатами. Затем PowerGrep, чтобы найти результаты обратно в ваш источник.

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