asp.net 治疗HtmlTextWriter的丑陋的错误?

vbopmzt1  于 2023-10-21  发布在  .NET
关注(0)|答案(1)|浏览(105)

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

gstyhher1#

AFAIK,没有任何设置的实际格式.如果你想自己格式化它,这可能是最好的解决方案。你,这会产生一些开销,所以如果值得的话。以下是一些DIY格式化的开源示例
http://snipplr.com/view/28048/net-html-formatter/
http://weblogs.asp.net/scottcate/archive/2007/01/10/my-c-code-formatting.aspx

相关问题