我正在从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时,我的缩进对我来说太过分了,因为它使用了tab chars。有没有办法强制这个类改为使用多个空格?
答案 0 :(得分:3)
我不是System.Web.UI的人,但是从MSDN documentation,看起来你可以提供用于缩进的字符作为HtmlTextWriter构造函数的第二个参数。因此,要获得4个空格而不是标签:
System.Web.UI.HtmlTextWriter htmlWriter =
new System.Web.UI.HtmlTextWriter(yourTextWriter, " ");
答案 1 :(得分:1)
大卫在技术上回答了你的问题,但这条道路导致了黑暗的一面。客户端Web代码未编译。如果您使用四个空格而不是制表符,那么您做错了。
即使影响很小,什么时候可以接受效率低400%?如果你想让事情变得有点慢,你也可以随机地将Thread.Sleep()调用添加到你的服务器端代码。
修复文本编辑器的设置。