0

我正在从 WinForm 上运行的代码创建一些 html。我想创建以下html:

<html>
<body>
    <div>
        <p>foo</p>
    </div>
</body>
</html>

我正在使用 System.Web.UI.HtmlTextWriter 类来执行此操作:

System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter();
htmlWriter.WriteFullBeginTag("html");
htmlWriter.WriteLine();
htmlWriter.WriteFullBeginTag("body");
htmlWriter.WriteLine();
htmlWriter.Indent++;
htmlWriter.WriteFullBeginTag("div");
htmlWriter.WriteLine();
htmlWriter.Indent++;
htmlWriter.WriteFullBeginTag("p");
htmlWriter.Write("foo");
htmlWriter.WriteEndTag("p");
htmlWriter.Indent--;
htmlWriter.WriteLine();
htmlWriter.WriteEndTag("div");    
htmlWriter.Indent--;
htmlWriter.WriteLine();
htmlWriter.WriteEndTag("body");
htmlWriter.WriteLine();
htmlWriter.WriteEndTag("html");

这很好用,但是,当我在文本编辑器中打开生成的 html 时,我的缩进看起来太远了,因为它使用的是制表符。有没有办法强制这个类使用多个空格?

4

2 回答 2

3

我不是 System.Web.UI 人,但从MSDN 文档中,看起来您可以提供用于缩进的字符作为 HtmlTextWriter 构造函数的第二个参数。因此,要获得 4 个空格而不是制表符:

System.Web.UI.HtmlTextWriter htmlWriter = 
    new System.Web.UI.HtmlTextWriter(yourTextWriter, "    ");
于 2009-01-31T03:33:18.763 回答
1

大卫在技术上回答了你的问题,但这条路通向黑暗的一面。客户端 Web 代码未编译。如果您使用四个空格而不是制表符,那么您做错了。

即使影响很小,什么时候可以接受降低 400% 的效率?如果你想无缘无故地让事情变慢一点,你也可以随机添加 Thread.Sleep() 调用到你的服务器端代码。

修复文本编辑器的设置。

于 2011-04-21T03:38:41.360 回答