固化HtmlTextWriter丑陋的格式化?

时间:2011-02-22 14:23:23

标签: c# asp.net formatting htmltextwriter html-validation

我正在使用HtmlTextWriter类创建ASP.NET服务器控件。我的理解是,它是一个很好的类,用于确保我的输出HTML有效。我认为它也可以很好地格式化,但它会产生一些奇怪的东西,使得输出难以阅读。

是否有一些设置或我可以玩的东西让人觉得有人花时间正确地格式化它,或者它只是使用这个类的缺点?以下是我正在谈论的丑陋格式的一些例子:

  • 使用自闭标签不一致。有了一些标签,我得到了它们,有些则没有。
  • 代码之间的随机换行符。
  • 在适当的地方缺少新行。
  • 缩进不匹配。

这实际上是我想要重现的内容:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="MySWF" width="100" height="100" codebase="https://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
    <param name="movie" value="/MySWF.swf"></param>
    <param name="quality" value="high" />
    <param name="allowScriptAccess" value="sameDomain" /> 
    <embed align="middle" pluginspage="https://www.adobe.com/go/getflashplayer" width="100" quality="high" height="100" loop="false" name="MySWF" type="application/x-shockwave-flash" play="true" allowscriptaccess="sameDomain" src="/MySWF.swf" />
</object>

......这就是我得到的:

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="MySWF" width="100" height="100" codebase="https://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
        <param name="movie" value="/MySWF.swf">

        </param><param name="quality" value="high">

        </param><param name="allowScriptAccess" value="sameDomain">

        </param><embed align="middle" pluginspage="https://www.adobe.com/go/getflashplayer" width="100" quality="high" height="100" loop="false" name="MySWF" type="application/x-shockwave-flash" play="true" allowscriptaccess="sameDomain" src="/MySWF.swf" />
</object>

1 个答案:

答案 0 :(得分:2)

AFAIK,没有任何实际格式设置。如果你想自己格式化,那可能是最好的解决方案。你,这会产生一些开销,所以如果它是值得的idk。以下是一些DIY格式的开源示例

http://snipplr.com/view/28048/net-html-formatter/

http://weblogs.asp.net/scottcate/archive/2007/01/10/my-c-code-formatting.aspx