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 コンストラクターの 2 番目の引数として指定できるようです。したがって、タブの代わりに 4 つのスペースを取得するには:

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

デビッドは技術的にあなたの質問に答えました、しかしその道は暗い面につながります。クライアント側のWebコードはコンパイルされません。タブ文字の代わりに4つのスペースを使用する場合、それは間違っています。

影響が小さい場合でも、400%効率が低下しても許容できるのはいつですか。正当な理由がないのに少し遅くしたい場合は、サーバー側のコードにThread.Sleep()呼び出しをランダムに追加することもできます。

テキストエディタの設定を修正します。

于 2011-04-21T03:38:41.360 に答える