更新 : 2007 年 11 月
状態を true と false の間で切り替えることのできるチェック ボックス コントロールを作成します。
<asp:CheckBox
AccessKey="string"
AutoPostBack="True|False"
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
Inset|Outset"
BorderWidth="size"
CausesValidation="True|False"
Checked="True|False"
CssClass="string"
Enabled="True|False"
EnableTheming="True|False"
EnableViewState="True|False"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
ID="string"
OnCheckedChanged="CheckedChanged event handler"
OnDataBinding="DataBinding event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnUnload="Unload event handler"
runat="server"
SkinID="string"
Style="string"
TabIndex="integer"
Text="string"
TextAlign="Left|Right"
ToolTip="string"
ValidationGroup="string"
Visible="True|False"
Width="size"
/>
解説
CheckBox コントロールは、状態を true と false の間で切り替えることのできるチェック ボックスを Web フォーム ページに作成します。Text プロパティを設定して、コントロールに表示するキャプションを指定できます。キャプションは、チェック ボックスの左右のいずれかに表示できます。キャプションを表示する側を指定するには、TextAlign プロパティを設定します。
![]() |
---|
<asp:CheckBox> 要素には内容が含まれないため、個別に終了タグを使用する代わりに /> でタグを閉じることができます。 |
CheckBox コントロールが選択されているかどうかを判断するには、Checked プロパティを調べます。サーバーへの複数のポスト バック間に CheckBox コントロールの状態が変更されると、CheckedChanged イベントが発生します。CheckedChanged イベントのイベント ハンドラを指定して、サーバーへのポスト バック間に CheckBox コントロールの状態が変更されたときに特定のタスクを実行できます。
![]() |
---|
複数の CheckBox コントロールを作成する場合は、CheckBoxList コントロールも使用できます。データ連結を使用してチェック ボックスのセットを作成する場合は、CheckBoxList コントロールを使用する方が簡単です。しかし、個別の CheckBox コントロールを使用する方が、レイアウトを柔軟に制御できます。 |
既定では、CheckBox コントロールは、クリックされたときにサーバーにフォームを自動的にはポスト バックしません。自動ポスト バックを有効にするには、AutoPostBack プロパティを true に設定します。
![]() |
---|
テキストは、CheckBox コントロールに表示される前には HTML エンコードされません。これにより、テキストの HTML タグ内にスクリプトを埋め込むことができるようになります。コントロールの値がユーザーによって入力された場合は、セキュリティの脆弱性への対策として、入力された値を必ず検証してください。 |
CheckBox Web サーバー コントロールのプロパティとイベントの詳細については、CheckBox クラスのドキュメントを参照してください。
使用例
.aspx ファイルで CheckBox コントロールを宣言する方法を次の例に示します。チェック ボックスがオンになると、すぐにサーバーにフォームをポスト バックするように設定されています。
<asp:CheckBox id="Check1" runat="server"
Text="CheckBox 1"
AutoPostBack="True"/>
<asp:CheckBox id="Check1" runat="server"
Text="CheckBox 1"
AutoPostBack="True"/>
顧客の請求先住所が含まれているテキスト ボックスの内容を、出荷先住所が含まれるテキスト ボックスにコピーする、CheckedChanged イベントのイベント ハンドラを作成する方法を次の例に示します。
![]() |
---|
この例には、ユーザー入力を受け付けるテキスト ボックスがあるため、セキュリティ上の脅威になる可能性があります。既定では、ASP.NET Web ページは、ユーザー入力にスクリプトまたは 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 runat="server">
<title>CheckBox Web Server Control Declarative Syntax</title>
<script runat="server">
Sub Check_Clicked(sender As Object, e As EventArgs)
If SameCheckBox.Checked Then
ShipTextBox.Text = BillTextBox.Text
Else
ShipTextBox.Text = ""
End If
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3>CheckBox Example</h3>
<table>
<tr>
<td>
Billing Address: <br />
<asp:TextBox id="BillTextBox"
TextMode="MultiLine"
Rows="5"
runat="server"/>
</td>
<td>
Shipping Address: <br />
<asp:TextBox id="ShipTextBox"
TextMode="MultiLine"
Rows="5"
runat="server"/>
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:CheckBox id="SameCheckBox"
AutoPostBack="True"
Text="Same as billing."
TextAlign="Right"
OnCheckedChanged="Check_Clicked"
runat="server"/>
</td>
</tr>
</table>
</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 runat="server">
<title>CheckBox Example</title>
<script runat="server">
void Check_Clicked(Object sender, EventArgs e)
{
if(SameCheckBox.Checked)
ShipTextBox.Text = BillTextBox.Text;
else
ShipTextBox.Text = "";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3>CheckBox Example</h3>
<table>
<tr>
<td>
Billing Address: <br />
<asp:TextBox id="BillTextBox"
TextMode="MultiLine"
Rows="5"
runat="server"/>
</td>
<td>
Shipping Address: <br />
<asp:TextBox id="ShipTextBox"
TextMode="MultiLine"
Rows="5"
runat="server"/>
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:CheckBox id="SameCheckBox"
AutoPostBack="True"
Text="Same as billing."
TextAlign="Right"
OnCheckedChanged="Check_Clicked"
runat="server"/>
</td>
</tr>
</table>
</form>
</body>
</html>