如何在ASP的标记中搜索静态文本的实例?. NET页面和控件



我有一个国际化的web应用程序,其中所有的文本最终被发送到浏览器是由代码背后生成的,无论是由覆盖Render的用户控件,还是由设置Label等控件的Text的代码。

例如,而不是包含

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解析器(如htmllagilitypack),因为*.as?x标记(记住这是在ASP.NET渲染之前)也不一定是有效的html(考虑如何重复模板可以交错标记)
  • 仅仅使用Visual Studio Find无法帮助我找到静态文本,而不是CSS类名

除了手动检查每一页,还有其他方法吗?

好吧,如果这是一个支持国际化的网站-指向其中一个免费的网站下载应用程序-并将输出拉到磁盘上。用法语(或你选择的语言)运行它,然后用德语运行。任何硬编码的文本字符串都不会改变。然后你必须找到一个WinMerge工具(我认为WinMerge可以做文件夹)或者写一些可以比较输出文件的东西。然后使用PowerGrep将结果定位到源文件中。

最新更新