asp.netには以下の表示系コントロールがありますが、実行時それぞれのhtmlタグが自動的に付加されます。CSSやjavascriptなどを生成する場合、自動的にhtmlタグが付加されてしまうと不都合な場合があります。その場合、 literalコントロールを使用します。
コントロール |
自動付加されるhtmlタグ |
labelコントロール |
span |
panelコントロール |
div |
placeholderコントロール |
何も付加されない |
literalコントロール |
何も付加されない |
HtmlGenericControl は、特定の HTML サーバー コントロールによって直接表されないすべての未知の HTML サーバー コントロール タグ (span、div、bodyなど) に対応して、ASP.NET サーバー コントロールを実装します。
実装方法ですが、例えばdivを定義する場合、
<div id="testdiv" runat="server"></div>
というようにサーバコントロールとして定義します。
サーバサイドでこのdiv要素はHtmlGenericControlクラスとして生成されます。
HtmlGenericControlはプロパティとしてinnerHtmlを実装していますので、このプロパティにHTMLを設定すればサーバサイドでもHTMLの出力が可能となります。