1

我正在使用 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>
4

1 回答 1

2

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

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

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

于 2011-02-22T14:52:43.400 回答