共用方式為


CheckBox 和 CheckBoxList Web 伺服器控制項概觀

更新:2007 年 11 月

CheckBox 控制項與 CheckBoxList 控制項為使用者提供指定 yes/no (true/false) 選項的方式。

這個主題包含:

  • 功能

  • 背景

  • 程式碼範例

  • 類別參考

功能

您可以使用 CheckBox 控制項與 CheckBoxList 控制項來:

  • 在選取核取方塊時使得網頁回傳。

  • 在使用者選取核取方塊時擷取使用者互動。

  • 繫結每個核取方塊到資料庫中的資料。

回到頁首

背景

您可以使用兩種類型的 Web 伺服器控制項,將核取方塊加入至 ASP.NET Web 網頁:個別的 CheckBox 控制項或 CheckBoxList 控制項。兩個控制項都為使用者提供指定 yes/no (true/false) 選項的方式。

您可以將個別的 CheckBox 控制項加入至網頁,然後單獨使用這些控制項。此外,您可以使用 CheckBoxList 控制項,它是單一控制項,可做為核取方塊清單項目集合的父控制項。它是衍生自基底 ListControl 類別,因此運作方式很像 ListBoxDropDownListRadioButtonListBulletedList Web 伺服器控制項。許多可搭配 CheckBoxList 控制項使用的程序,都相同於使用其他清單伺服器控制項的程序。

兩種類型的控制項都有其優點。相較於使用 CheckBoxList 控制項,使用個別的 CheckBox 控制項,更能夠掌控網頁中核取方塊的配置。例如,您可以在每個核取方塊之間包含無核取方塊文字。您也可以控制個別核取方塊的字型和色彩。

如果要使用資料來源中的資料建立一系列核取方塊,則 CheckBoxList 控制項會是更好的選擇(您可以將個別 CheckBox 控制項繫結至資料)。

注意事項:

您也可以使用 HtmlInputCheckBox 控制項將核取方塊加入至 ASP.NET Web 網頁。如需詳細資訊,請參閱HtmlInputCheckBox 伺服器控制項宣告式語法

CheckBox 和 CheckBoxList 事件

個別的 CheckBox 控制項和 CheckBoxList 控制項之間的事件運作有些不同。

CheckBox 控制項事件

當使用者按一下個別的 CheckBox 控制項時,會引發 CheckedChanged 事件。根據預設,此事件不會將頁面張貼至伺服器。不過,您可以將 AutoPostBack 屬性設定為 true,強迫控制項執行立即回傳作業。如需詳細資訊,請參閱 HOW TO:回應 CheckBox Web 伺服器控制項中的使用者選取

注意事項:

瀏覽器必須支援 ECMAScript (JScript 或 JavaScript),而且使用者的瀏覽器必須啟用指令碼功能,才能使用自動回傳功能。

您可能不需要為 CheckedChanged 事件建立事件處理常式。您可以在以網頁執行的任何程式碼中測試選取了哪個核取方塊。通常,只有在需要知道核取方塊遭到變更,而不是只讀取核取方塊的值時,才會建立 CheckedChanged 事件的處理常式。如需詳細資訊,請參閱 HOW TO:設定和取得 RadioButton Web 伺服器控制項中的選取

CheckBoxList 控制項事件

當使用者選取清單中的任何核取方塊時,CheckBoxList 控制項會引發 SelectedIndexChanged 事件。根據預設,此事件不會將頁面張貼至伺服器。不過,您可以將 AutoPostBack 屬性設定為 true,強迫控制項執行立即回傳作業。

注意事項:

瀏覽器必須支援 ECMAScript (JScript 或 JavaScript),而且使用者的瀏覽器必須啟用指令碼功能,才能使用自動回傳功能。

藉著使用個別的 CheckBox 控制項,在使用某些其他方法來張貼網頁之後,通常可測試 CheckBoxList 控制項的狀態。如需詳細資訊,請參閱 HOW TO:判斷 List Web 伺服器控制項中的選取

CheckBox 控制項 HTML 屬性

CheckBox 控制項呈現至瀏覽器時,它會透過兩部分完成這個步驟:表示核取方塊的 input 項目,以及表示核取方塊標題的不同 label 項目。這兩個項目的組合包裝在 span 項目中。

當您將樣式或屬性設定套用至 CheckBox 控制項時,這些設定就會套用至外部寬度項目。例如,如果您設定控制項的 BackColor 屬性,設定就會套用至 span 項目。因此,它會同時影響內部 input 與 label 屬性。

有些時候,您可能想要在核取方塊和標籤上套用不同的設定。CheckBox 控制項支援您可以在執行階段設定的兩個屬性。InputAttributes 屬性 (Poperty) 加入 HTML 屬性 (Attribute) 到 input 項目,而 LabelAttributes 屬性可讓您加入 HTML 屬性到 label 項目。您設定的屬性會傳送至瀏覽器。下列範例說明如何設定 input 項目的屬性,以便當使用者將滑鼠指標移到核取方塊時,變更核取方塊的色彩 (而非標籤色彩)。

[Visual Basic]

CheckBox1.InputAttributes.Add("onmouseover", _
    "this.style.backgroundColor = 'red'")
CheckBox1.InputAttributes.Add("onmouseout", _
    "this.style.backgroundColor = 'white'")
CheckBox1.InputAttributes.Add("onmouseover", 
    "this.style.backgroundColor = 'red'");
CheckBox1.InputAttributes.Add("onmouseout", 
    "this.style.backgroundColor = 'white'");

將資料繫結至控制項

您可以將個別的 CheckBox 控制項繫結至資料來源,而且您可以將 CheckBox 控制項的任何屬性繫結至資料來源的任何欄位。例如,您通常可以根據資料庫的資訊設定控制項的 Checked 屬性。

您也可以將 CheckBoxList 控制項繫結到資料來源。在這種狀況下,每個核取方塊代表資料來源中一筆不同的記錄。

回到頁首

程式碼範例

HOW TO:將 CheckBox Web 伺服器控制項加入至 Web Form 網頁 (Visual Studio)

HOW TO:將 CheckBoxList Web 伺服器控制項加入至 Web Form 網頁 (Visual Studio)

HOW TO:設定 CheckBoxList Web 伺服器控制項中的配置

HOW TO:以程式設計方式取得和設定 CheckBox Web 伺服器控制項值

HOW TO:回應 CheckBox Web 伺服器控制項中的使用者選取

HOW TO:將項目加入至 List Web 伺服器控制項 (Visual Studio)

HOW TO:從資料來源填入 List Web 伺服器控制項 (Visual Studio)

HOW TO:回應 List Web 伺服器控制項中的變更

回到頁首

類別參考

下表列出 CheckBoxCheckBoxList 控制項的相關類別。

成員

描述

CheckBox

CheckBox 控制項的主要類別。

CheckBoxList

CheckBoxList 控制項的主要類別。

ListItem

表示 CheckBoxList 控制項中每個項目的類別。

Items

對應至 CheckBoxList 控制項之個別清單項目的項目集合。

回到頁首

請參閱

工作

HOW TO:設定清單 Web 伺服器控制項中的選取 (Visual Studio)

HOW TO:判斷 List Web 伺服器控制項中的選取

參考

RadioButton 和 RadioButtonList Web 伺服器控制項概觀