簡體   English   中英

如何使HtmlTextWriter對象的縮進使用空格而不是制表符?

[英]How can I make an HtmlTextWriter object use spaces instead of tabs for its Indents?

我正在從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時,我的縮進對我來說看起來太遙遠,因為它使用的是制表符。 有沒有一種方法可以強迫此類使用多個空格代替?

我不是System.Web.UI專家,但是從MSDN文檔開始 ,您似乎可以提供用於縮進的字符作為HtmlTextWriter構造函數的第二個參數。 因此,要獲得4個空格而不是一個制表符:

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

大衛從技術上回答了您的問題,但是那條路通往黑暗的一面。 客戶端Web代碼未編譯。 如果您使用四個空格而不是制表符,那么您做錯了。

即使影響很小,什么時候效率降低400%可以接受? 如果您無緣無故想讓事情變慢一點,也可以將Thread.Sleep()調用隨機添加到服務器端代碼中。

修正文字編輯器的設定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM