私は仕事中にASP.NET Webアプリケーションを開発していますが、同じ問題に取り組んでいます。クリーンな出力を備えたASP.NET HTMLコントロール?
時々、コードビハインドからページにHTMLを書きたいと思っています。たとえば、GET変数 "view"の値によって出力が異なるページEditor.aspxがあります。言い換えると、 "Editor.aspx?view = apples"は "Editor.aspx?view = oranges"とは異なるHTMLを出力します。
このHTMLは現在StringBuilderで出力されています。例えば、私はリストを作成したい場合、私は次の構文を使用する場合があります。
myStringBuilder.AppendLine("<ul id=\"editor-menu\">");
myStringBuilder.AppendLine("<li>List Item 1</li>");
myStringBuilder.AppendLine("</ul>");
問題は、StringBuilderの構文の数行が私を妨げるので、私はむしろ、この目的のためにASP.NETのリストコントロールを使用するだろうということですコードの可読性しかし、ASP.NETコントロールでは、一意のID、インラインスタイル、および時折のインラインJavaScriptのブロックで複雑なHTMLを出力する傾向があります。
私の質問は、単純な汎用HTMLタグを表すASP.NETコントロールはありますか?つまり、次の例のようなコントロールがあります:
HTMLTagControl list = new HTMLTagControl("ul");
list.ID = "editor-menu";
HTMLTagControl listItem = new HTMLTagControl("li");
listItem.Text = "List Item 1";
list.AppendChild(listItem);
私はラッパーがある知っている
と、代わりにASP.NETの複雑さを飼いならすのそのようなものが、私はむしろ、取得-行くからシンプルで始まります。
HtmlTextWriterのヒントありがとうございます。 「簡単に周りにいる」という意味はどうですか? – attack
私は何を意味するかを示すコードサンプルを追加しました。基本的には、私が意味していたのはすべて正しいプロパティを使用するだけです。また、実際に出力を完全に制御したい場合は、HtmlTextWriterを使用してください。これは、すべてのコントロールが最終的にRender()メソッドのフードで使用されるためです。それは少しの学習曲線を持っています。 – Josh