2009-01-31 77 views
0

我正在WinForm上运行的代码创建一些html。我想创建下面的HTML:如何使HtmlTextWriter对象的缩进使用空格而不是制表符?

<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,因为它使用了tab字符,所以我的缩进看起来对我来说太远了。有没有办法强制这个班级使用多个空格呢?

回答

3

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

System.Web.UI.HtmlTextWriter htmlWriter = 
    new System.Web.UI.HtmlTextWriter(yourTextWriter, " "); 
+0

哇...我觉得自己像嘴巴喘息一样。谢谢! – aranasaurus 2009-01-31 03:54:00

1

David在技术上已解答您的问题,但该路径会导致黑屏。未编译客户端Web代码。如果你使用四个空格而不是制表符,那么你做错了。

即使影响很小,什么时候可以接受400%的效率?如果你想让事情慢一点而没有理由,你也可以随意地将Thread.Sleep()调用添加到你的服务器端代码中。

修复您的文本编辑器的设置。

相关问题