HtmlGenericControl サーバー コントロール宣言構文
<body> や <div> など、特定の .NET Framework クラスで表されない HTML 要素に割り当てるサーバー側のコントロールを作成します。
<span | body | div | font | others
EnableViewState="False|True"
ID="string"
OnDataBinding="OnDataBinding event handler"
OnDisposed="OnDisposed"
OnInit="OnInit event handler"
OnLoad="OnLoad event handler"
OnPreRender="OnPreRender event handler"
OnServerClick="OnServerClick event handler"
OnUnload="OnUnload event handler"
runat="server"
Visible="False|True" >
contentBetweenTags
</span | body | div | font | others>
解説
このコントロールは、特定の HTML コントロールに直接割り当てられない要素の runat="server" 属性と値のペアを含むタグに対応するようにサーバーで作成されます。 これらの要素には、たとえば、<span>、<body>、<div>、<font> などの要素があります。 コントロールは、HTML コントロールとして使用される特定の要素のタグ名を TagName プロパティを使用して ASP.NET に割り当てます。 このコントロールの機能は、HTML コントロール タグの内部コンテンツを動的に変更できる HtmlContainerControl クラスから継承されます。
サーバー側の <span> 要素を使用して、ユーザー入力またはイベント ハンドラーで指定したソースを基に、イベント ハンドラー コードで生成されたテキストを表示できます。 Page_Load イベントを使って span コントロールのテキストを生成したり、HTML スタイル属性を使って、そのテキストがブラウザーに表示されるときの書式を設定したりすることもできます。
使用例
HtmlInputText コントロールへのユーザー入力に基づいて生成されたテキストを表示する例を示します。 ページで <span> 要素を宣言することにより作成される HtmlGenericControl には、InnerHtml プロパティへのアクセス権を持つ <span> 要素が用意されています。 これによって、<span> 要素に割り当てられたテキスト文字列を操作できます。
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlGenericControl Control</title>
<script runat="server">
Sub SubmitBtn_Click(Source As Object, e As EventArgs)
MySpan.InnerHtml = "Welcome to ASP.NET, " & myText.Value & "."
End Sub
</script>
</head>
<body>
<form id="myForm" runat="server">
<br />
Enter your name here:
<input type="text" id="myText" runat="server" />
<br /><br />
<input id="Submit1" type="submit" value="Click Here!"
onserverclick="SubmitBtn_Click" runat="server" />
<br /><br />
<b><span id="MySpan" runat="server"/></b>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlGenericControl Control</title>
<script runat="server">
void SubmitBtn_Click(object Source, EventArgs e)
{
MySpan.InnerHtml = "Welcome to ASP.NET, " + myText.Value + ".";
}
</script>
</head>
<body>
<form id="myForm" runat="server">
<br />Enter your name here:
<input type="text" id="myText" runat="server" />
<br /><br />
<input id="Submit1" type="submit" value="Click Here!"
onserverclick="SubmitBtn_Click" runat="server" />
<br /><br />
<b><span id="MySpan" runat="server"/></b>
</form>
</body>
</html>
HtmlGenericControl を使用して、ページの背景色を変更する例を示します。 AttributeCollection クラスを使用して、任意の HTML コントロールで宣言できる属性にプログラムでアクセスする方法も示します。
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlGenericControl Control</title>
<script runat="server">
Sub SubmitBtn_Click(Source As Object, e As EventArgs)
Body.Attributes("bgcolor") = ColorSelect.Value
End Sub
</script>
</head>
<body id="Body" runat="server">
<h3>Updating Styles with the HtmlGenericControl</h3>
<form id="Form1" runat="server">
<br />
Select a background color for the page: <br />
<select id="ColorSelect" runat="server">
<option>White</option>
<option>Wheat</option>
<option>Gainsboro</option>
<option>LemonChiffon</option>
</select>
<input id="Submit1" type="submit" runat="server"
value="Apply" onserverclick="SubmitBtn_Click" />
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlGenericControl Control</title>
<script runat="server">
void SubmitBtn_Click(object Source, EventArgs e)
{
Body.Attributes["bgcolor"] = ColorSelect.Value;
}
</script>
</head>
<body id="Body" runat="server">
<h3>Updating Styles with the HtmlGenericControl</h3>
<form id="Form1" runat="server">
<br />
Select a background color for the page: <br />
<select id="ColorSelect" runat="server">
<option>White</option>
<option>Wheat</option>
<option>Gainsboro</option>
<option>LemonChiffon</option>
</select>
<input id="Submit1" type="submit" runat="server"
value="Apply" onserverclick="SubmitBtn_Click" />
</form>
</body>
</html>