ASP.NET HTMLを制御ル出力?
-
12-09-2019 - |
質問
私の開発ASP.NET webでの作業、走るとともに、同誌掲載号の注目:
ものを書きたいHTMLページからのコードです。例えば、私のページで、編集者。aspx、出力によって異なりの値を取得する変数のプランとなっております。" この場合においても、編集者。aspx?ビュー=リンゴ"出力の異なるHTML"編集者。aspx?ビュー=オレンジ".
私は現在、出力このHTMLとStringBuilder.例えば、たいと思ったリストを作成し、使用する場合は、次の構文:
myStringBuilder.AppendLine("<ul id=\"editor-menu\">");
myStringBuilder.AppendLine("<li>List Item 1</li>");
myStringBuilder.AppendLine("</ul>");
問題はされているのではないかと思い利用ASP.NET's"リスト制御のためこの目的のため、複数の線がStringBuilderの構文を阻害する私のコードの可読性しかし、ASP.NET 管理が出力巻き込み、HTMLとユニークなIDは、インラインレイアウトにおける、データの時にブロックのインラインです。
私の質問ではありまASP.NET 制御するわけ汎用のHTMLタグ?つまり、制御のように、以下の例:
HTMLTagControl list = new HTMLTagControl("ul");
list.ID = "editor-menu";
HTMLTagControl listItem = new HTMLTagControl("li");
listItem.Text = "List Item 1";
list.AppendChild(listItem);
私が用意されていることをご存知の包装のようなものではなく質ASP.NET 複雑なされているのではないかと思い始めから簡単に取得することができます。
解決
はありまASP.NET 制御する な汎用のHTMLタグ?
そう、という HtmlGenericControl :)
ていただけたらと思っていないものまで簡単に:
HtmlGenericControl list = new HtmlGenericControl("ul");
list.ID = "editor-menu";
HtmlGenericControl listItem = new HtmlGenericControl("li");
listItem.InnerText = "List Item 1";
list.Controls.Add(listItem);
の場合の必要はな下地金そのものを使用できるの HtmlTextWriter クラスの代わりにStringBuilderのではカスタムに合わせた排出原HTML.
他のヒント
、あなたはこのために<asp:Literal />
コントロールを使用することができます。
LiteralControlは、あなたのHTMLを渡すことができconstractorを持っています... 私はそれが良いと思います。
新しいLiteralControl(sb.ToString());