Topへ

開発ブログ(Blog)

表示系コントロールで自動付加されるhtmlタグ

asp.netには以下の表示系コントロールがありますが、実行時それぞれのhtmlタグが自動的に付加されます。CSSやjavascriptなどを生成する場合、自動的にhtmlタグが付加されてしまうと不都合な場合があります。その場合、 literalコントロールを使用します。

コントロール 自動付加されるhtmlタグ
labelコントロール span
panelコントロール div
placeholderコントロール 何も付加されない
literalコントロール 何も付加されない

HtmlGenericControl は、特定の HTML サーバー コントロールによって直接表されないすべての未知の HTML サーバー コントロール タグ (spandivbodyなど) に対応して、ASP.NET サーバー コントロールを実装します。

 

 

実装方法ですが、例えばdivを定義する場合、

<div id="testdiv" runat="server"></div>

というようにサーバコントロールとして定義します。

サーバサイドでこのdiv要素はHtmlGenericControlクラスとして生成されます。

HtmlGenericControlはプロパティとしてinnerHtmlを実装していますので、このプロパティにHTMLを設定すればサーバサイドでもHTMLの出力が可能となります。