实时检验您的页面是否符合XHTML标准——使用Validator Module
Bruusi和Josh开发了一个ASP.NET 2.0 Validator Module (注意:仅可用于ASP.NET 2.0程序),可以在页面渲染的时候自动为您检查该页面是否符合XHTML标准,并在页面上显示验证结果(可以自定义显示部位)。
这个Validator Module会在您的每个页面渲染时根据页面的DOCTYPE自动从W3C下载相应的最新的DTD文件以验证您的页面,并将这些DTD文件其缓存在本地,使您接下来可以离线开发并验证。
您可以在http://www.thejoyofcode.com/Validator_Module.aspx 找到这个Validator Module的英文介绍以及最新更新。
现在让我们看一下一个使用Validator Module的页面的截图。这里我只是简单的通过一个Button来切换某个Label上面文字的换行符(HTML中的<br>,XHTML中的<br />),来使这个页面在XHTML合法与非法之间切换。
合法:
非法:
您可以在http://www.thejoyofcode.com/ValidatorModule/找到更多的示例程序。
下面我们来看看如何使用这个Validator Module,首先,在http://www.thejoyofcode.com/uploads/ValidatorModule.zip 下载所需要引用的程序集并在您的Web Site中添加对其的引用。
然后,按照下载的压缩包中的示例Web.config文件修改您的Web.config文件。您需要在<configuration>节下添加如下内容:
其中validatorModule的mode属性可选Html,HtmlFloat,Comments或者Custom,如果您选择了Custom,还需要编写对IValidationRenderer接口的实现。pageExtensions节中可以指定您需要验证的文件类型。contentTypes节中可以指定您需要验证的内容类型。
<configSections>
<section name="validatorModule" type="Tjoc.Web.Validator.ValidatorConfigHandler, Tjoc.Web.Validator"/>
</configSections>
<!-- configure the validator -->
<validatorModule enabled="true" mode="HtmlFloat">
<pageExtensions>
<add value=".aspx"/>
</pageExtensions>
<contentTypes>
<add value="text/html"/>
</contentTypes>
</validatorModule>
您还可以添加如下内容(可选)以通过代理服务器访问W3C:
最后,还需要在<system.web>段下添加如下内容:
<httpModules>
<add type="Tjoc.Web.Validator.ValidatorModule, Tjoc.Web.Validator" name="ValidatorModule"/>
</httpModules>
OK,万事大吉,您现在可以方便的随时随地检查您的页面是否符合XHTML标准了!
本文开头的示例程序可在此下载:https://files.cnblogs.com/dflying/ValidatorModuleDemo.zip
Validator Module可在此下载:http://www.thejoyofcode.com/uploads/ValidatorModule.zip
如果您希望研究一下Validator Module的源程序,可以在http://www.thejoyofcode.com/contact_us.aspx 与Bruusi和Josh联系。