建立能夠讓使用者在 true 或 false 狀態之間切換的核取方塊控制項。
<asp:CheckBox id="CheckBox1"
AutoPostBack="True|False"
Text="Label"
TextAlign="Right|Left"
Checked="True|False"
OnCheckedChanged="OnCheckedChangedMethod"
runat="server"/>
備註
CheckBox 控制項會在 Web Form 網頁上建立能夠讓使用者在 true 或 false 狀態之間切換的核取方塊。您可以藉由設定 Text 屬性來指定要顯示在控制項中的標題。這個標題可以出現在核取方塊的右邊或是左邊。請設定 TextAlign 屬性來指定標題要出現在哪一邊。
**注意 **因為 <asp:CheckBox> 項目沒有內容,所以您可以用 /> 來結束標記,以取代單獨的結束標記。
若要判斷 CheckBox 控制項是否已被選取,請測試 Checked 屬性。當回傳給伺服器的 CheckBox 控制項狀態之間有變更時,就會引發 CheckedChanged 事件。當回傳給伺服器的 CheckBox 控制項狀態之間有變更時,您可以提供 CheckedChanged 事件的事件處理常式來執行特定的工作。
**注意 **在建立多個 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"/>
下列範例是示範如何建立 CheckedChanged 事件的事件處理常式,將含有客戶帳單地址的文字方塊內容複製到含有交貨地址的文字方塊中。
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<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 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>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
void Check_Clicked(Object sender, EventArgs e)
{
if(SameCheckBox.Checked)
ShipTextBox.Text = BillTextBox.Text;
else
ShipTextBox.Text = "";
}
</script>
</head>
<body>
<form 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>