CheckBoxList 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立多重選取的核取方塊群組,其可藉著繫結控制項至資料來源而動態地被建立。
public ref class CheckBoxList : System::Web::UI::WebControls::ListControl, System::Web::UI::INamingContainer, System::Web::UI::IPostBackDataHandler, System::Web::UI::WebControls::IRepeatInfoUser
public class CheckBoxList : System.Web.UI.WebControls.ListControl, System.Web.UI.INamingContainer, System.Web.UI.IPostBackDataHandler, System.Web.UI.WebControls.IRepeatInfoUser
type CheckBoxList = class
inherit ListControl
interface IRepeatInfoUser
interface INamingContainer
interface IPostBackDataHandler
Public Class CheckBoxList
Inherits ListControl
Implements INamingContainer, IPostBackDataHandler, IRepeatInfoUser
- 繼承
- 繼承
- 實作
範例
具有原始程式碼的 Visual Studio 網站專案隨附於本主題: 下載。
下列程式代碼範例示範如何在網頁上建立 CheckBoxList 控件。
注意
下列程式代碼範例會使用單一檔案程式代碼模型,如果直接複製到程式代碼後置檔案,可能無法正常運作。 此程式代碼範例必須複製到具有.aspx擴展名的空白文本檔。 如需 Web Forms 程式代碼模型的詳細資訊,請參閱 ASP.NET Web Forms 頁面代碼模型。
<%@ 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> CheckBoxList Example </title>
<script runat="server">
void Check_Clicked(Object sender, EventArgs e)
{
Message.Text = "Selected Item(s):<br /><br />";
// Iterate through the Items collection of the CheckBoxList
// control and display the selected items.
for (int i=0; i<checkboxlist1.Items.Count; i++)
{
if (checkboxlist1.Items[i].Selected)
{
Message.Text += checkboxlist1.Items[i].Text + "<br />";
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> CheckBoxList Example </h3>
Select items from the CheckBoxList.
<br /><br />
<asp:CheckBoxList id="checkboxlist1"
AutoPostBack="True"
CellPadding="5"
CellSpacing="5"
RepeatColumns="2"
RepeatDirection="Vertical"
RepeatLayout="Flow"
TextAlign="Right"
OnSelectedIndexChanged="Check_Clicked"
runat="server">
<asp:ListItem>Item 1</asp:ListItem>
<asp:ListItem>Item 2</asp:ListItem>
<asp:ListItem>Item 3</asp:ListItem>
<asp:ListItem>Item 4</asp:ListItem>
<asp:ListItem>Item 5</asp:ListItem>
<asp:ListItem>Item 6</asp:ListItem>
</asp:CheckBoxList>
<br /><br />
<asp:label id="Message" runat="server" AssociatedControlID="checkboxlist1"/>
</form>
</body>
</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> CheckBoxList Example </title>
<script runat="server">
Sub Check_Clicked(sender as Object, e As EventArgs)
Message.Text = "Selected Item(s):<br /><br />"
' Iterate through the Items collection of the CheckBoxList
' control and display the selected items.
Dim i As Integer
For i=0 To checkboxlist1.Items.Count - 1
If checkboxlist1.Items(i).Selected Then
Message.Text &= checkboxlist1.Items(i).Text & "<br />"
End If
Next
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> CheckBoxList Example </h3>
Select items from the CheckBoxList.
<br /><br />
<asp:CheckBoxList id="checkboxlist1"
AutoPostBack="True"
CellPadding="5"
CellSpacing="5"
RepeatColumns="2"
RepeatDirection="Vertical"
RepeatLayout="Flow"
TextAlign="Right"
OnSelectedIndexChanged="Check_Clicked"
runat="server">
<asp:ListItem>Item 1</asp:ListItem>
<asp:ListItem>Item 2</asp:ListItem>
<asp:ListItem>Item 3</asp:ListItem>
<asp:ListItem>Item 4</asp:ListItem>
<asp:ListItem>Item 5</asp:ListItem>
<asp:ListItem>Item 6</asp:ListItem>
</asp:CheckBoxList>
<br /><br />
<asp:label id="Message" runat="server" AssociatedControlID="checkboxlist1"/>
</form>
</body>
</html>
備註
本主題內容:
簡介
控件 CheckBoxList 提供多重選取複選框群組,可使用數據系結動態產生。 它包含集合, Items 其中包含對應至清單中個別項目的成員。 若要判斷要檢查哪些專案,請逐一查看集合,並測試 Selected 清單中每個項目的屬性。
注意
您也可以使用多個 CheckBox 控制件。 控件 CheckBoxList 比較容易使用數據系結建立一組複選框,而個別 CheckBox 控件可讓您更充分地控制版面配置。
指定清單配置
您可以使用和 RepeatDirection 屬性來指定清單的顯示RepeatLayout方式。 如需配置選項的相關信息,請參閱 RepeatLayout 列舉。
依預設,RepeatDirection 會設為 RepeatDirection.Vertical。 將此屬性設定為 RepeatDirection.Horizontal 水平轉譯清單。 某些 RepeatLayout 設定不允許水準配置。 如需詳細資訊,請參閱 RepeatLayout 列舉。
指定清單專案
若要指定您想要出現在控件中的CheckBoxList專案,請在控件的開頭和結尾標記CheckBoxList之間放置ListItem每個項目的專案。
控件 CheckBoxList 也支持數據系結。 若要將控件系結至數據源,請先建立數據源,例如其中一個 DataSourceControl 物件,其中包含控件中要顯示的專案。 接下來,使用 DataBind 方法將數據源系結至 CheckBoxList 控件。
DataTextField使用 和 DataValueField 屬性可指定數據源中的哪個欄位,分別系結至 Text 控件中每個清單專案的 和 Value 屬性。 控件 CheckBoxList 現在會顯示數據源中的資訊。
若要判斷控件中 CheckBoxList 選取的專案,請 Items 逐一查看集合,並測試 Selected 集合中每個項目的屬性。
警告
此控制項可用來顯示使用者輸入,其中可能包含惡意用戶端文本。 檢查從用戶端傳送的任何資訊,以取得可執行腳本、SQL 語句或其他程式代碼,再將其顯示在應用程式中。 您可以使用驗證控制項來驗證使用者輸入,再顯示控制項中的輸入文字。 ASP.NET 提供輸入要求驗證功能,以封鎖使用者輸入中的腳本和 HTML。 如需詳細資訊,請參閱 保護標準控件、 如何:藉由將 HTML 編碼套用至字串來保護 Web 應用程式中的腳本惡意探索,以及 驗證 ASP.NET 網頁中的使用者輸入。
Accessibility
如需如何設定此控件以產生符合輔助功能標準的標記的相關信息,請參閱 Visual Studio 中的輔助功能,以及 ASP.NET 和 ASP.NET 控件和輔助功能。
宣告式語法
<asp:CheckBoxList
AccessKey="string"
AppendDataBoundItems="True|False"
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"
CellPadding="integer"
CellSpacing="integer"
CssClass="string"
DataMember="string"
DataSource="string"
DataSourceID="string"
DataTextField="string"
DataTextFormatString="string"
DataValueField="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"
OnDataBinding="DataBinding event handler"
OnDataBound="DataBound event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnSelectedIndexChanged="SelectedIndexChanged event handler"
OnTextChanged="TextChanged event handler"
OnUnload="Unload event handler"
RepeatColumns="integer"
RepeatDirection="Horizontal|Vertical"
RepeatLayout="Table|Flow|OrderedList|UnorderedList"
runat="server"
SelectedIndex="integer"
SelectedValue="string"
SkinID="string"
Style="string"
TabIndex="integer"
TextAlign="Left|Right"
ToolTip="string"
ValidationGroup="string"
Visible="True|False"
Width="size"
>
<asp:ListItem
Enabled="True|False"
Selected="True|False"
Text="string"
Value="string"
/>
</asp:CheckBoxList>
建構函式
| CheckBoxList() |
初始化 CheckBoxList 類別的新執行個體。 |
屬性
| AccessKey |
取得或設定便捷鍵 (Access Key),可讓您快速巡覽至 Web 伺服器控制項。 (繼承來源 WebControl) |
| Adapter |
針對控制項取得瀏覽器的特定配置器。 (繼承來源 Control) |
| AppendDataBoundItems |
取得或設定值,表示是否在資料繫結之前清除清單項目。 (繼承來源 ListControl) |
| AppRelativeTemplateSourceDirectory |
取得或設定包含了此控制項之 Page 或 UserControl 物件的相對應用程式虛擬目錄。 (繼承來源 Control) |
| Attributes |
取得任意屬性 (Attribute) 的集合 (只供呈現),不與控制項上的屬性 (Property) 對應。 (繼承來源 WebControl) |
| AutoPostBack |
取得或設定值,表示當使用者變更清單選取項目時,是否會自動向伺服器回傳。 (繼承來源 ListControl) |
| BackColor |
取得或設定 Web 伺服器控制項的背景色彩。 (繼承來源 WebControl) |
| BindingContainer |
取得包含了此控制項之資料繫結的控制項。 (繼承來源 Control) |
| BorderColor |
取得或設定 Web 控制項的框線色彩。 (繼承來源 WebControl) |
| BorderStyle |
取得或設定 Web 伺服器控制項的框線樣式。 (繼承來源 WebControl) |
| BorderWidth |
取得或設定 Web 伺服器控制項的框線寬度。 (繼承來源 WebControl) |
| CausesValidation |
取得或設定值,表示是否要在按一下衍生自 ListControl 類別的控制項時執行驗證。 (繼承來源 ListControl) |
| CellPadding |
取得或設定儲存格的框線與內容之間的距離 (以像素為單位)。 |
| CellSpacing |
取得或設定儲存格之間的距離 (以像素為單位)。 |
| ChildControlsCreated |
取得值,指出是否已經建立伺服器控制項的子控制項。 (繼承來源 Control) |
| ClientID |
取得 ASP.NET 所產生之 HTML 標記的控制項識別碼。 (繼承來源 Control) |
| ClientIDMode |
取得或設定用來產生 ClientID 屬性值的演算法。 (繼承來源 Control) |
| ClientIDSeparator |
取得字元值,表示在 ClientID 屬性中所使用的分隔字元。 (繼承來源 Control) |
| Context |
取得與目前 Web 要求的伺服器控制項關聯的 HttpContext 物件。 (繼承來源 Control) |
| Controls |
取得 ControlCollection 物件,表示 UI 階層架構中指定之伺服器控制項的子控制項。 (繼承來源 Control) |
| ControlStyle |
取得 Web 伺服器控制項的樣式。 這個屬性主要由控制項開發人員使用。 (繼承來源 WebControl) |
| ControlStyleCreated |
取得值,指出 Style 物件是否已經為 ControlStyle 屬性建立。 這個屬性主要由控制項開發人員使用。 (繼承來源 WebControl) |
| CssClass |
取得或設定用戶端上 Web 伺服器控制項所呈現的階層式樣式表 (CSS)。 (繼承來源 WebControl) |
| DataItemContainer |
如果命名容器實作 IDataItemContainer,則取得命名容器的參考。 (繼承來源 Control) |
| DataKeysContainer |
如果命名容器實作 IDataKeysControl,則取得命名容器的參考。 (繼承來源 Control) |
| DataMember |
取得或設定 DataSource 中要繫結至控制項的特定表格。 (繼承來源 ListControl) |
| DataSource |
取得或設定可填入清單控制項項目的資料來源。 (繼承來源 ListControl) |
| DataSourceID |
取得或設定控制項的識別碼,資料繫結控制項會由此擷取其項目清單。 (繼承來源 DataBoundControl) |
| DataSourceObject |
取得物件,這個物件會實作可提供物件資料內容之存取權的 IDataSource 介面。 (繼承來源 DataBoundControl) |
| DataTextField |
取得或設定提供清單項目文字內容的資料來源欄位。 (繼承來源 ListControl) |
| DataTextFormatString |
取得或設定格式化字串,這個字串可用來控制繫結至清單控制項之資料的顯示方式。 (繼承來源 ListControl) |
| DataValueField |
取得或設定提供每個清單項目值的資料來源欄位。 (繼承來源 ListControl) |
| DesignMode |
取得值,指出控制項是否正用於設計介面上。 (繼承來源 Control) |
| Enabled |
取得或設定值,指出 Web 伺服器控制項是否啟用。 (繼承來源 WebControl) |
| EnableTheming |
取得或設定值,指出佈景主題是否套用至此控制項。 (繼承來源 WebControl) |
| EnableViewState |
取得或設定值,該值表示伺服器控制項是否對要求的用戶端而言保持其檢視狀態,以及它包含的任何子控制項狀態。 (繼承來源 Control) |
| Events |
取得控制項事件處理常式委派 (Delegate) 的清單。 這個屬性是唯讀的。 (繼承來源 Control) |
| Font |
取得與 Web 伺服器控制項關聯的字型屬性。 (繼承來源 WebControl) |
| ForeColor |
取得或設定 Web 伺服器控制項的前景色彩 (通常是文字的色彩)。 (繼承來源 WebControl) |
| HasAttributes |
取得值,指出控制項是否已經設定屬性。 (繼承來源 WebControl) |
| HasChildViewState |
取得值,指出目前伺服器控制項的子控制項是否有任何已儲存的檢視狀態設定。 (繼承來源 Control) |
| HasFooter |
取得值,表示 CheckBoxList 控制項是否包含頁尾區段。 |
| HasHeader |
取得值,表示 CheckBoxList 控制項是否包含標題區段。 |
| HasSeparators |
取得值,表示 CheckBoxList 控制項是否在清單中的項目之間包含分隔符號。 |
| Height |
取得或設定 Web 伺服器控制項的高度。 (繼承來源 WebControl) |
| ID |
取得或設定指派給伺服器控制項的程式設計識別項。 (繼承來源 Control) |
| IdSeparator |
取得用來分隔控制項識別項的字元。 (繼承來源 Control) |
| Initialized |
取得值,指出是否已初始化資料繫結控制項。 (繼承來源 BaseDataBoundControl) |
| IsBoundUsingDataSourceID |
取得值,指出是否已設定 DataSourceID 屬性。 (繼承來源 BaseDataBoundControl) |
| IsChildControlStateCleared |
取得值,指出這個控制項中所包含的控制項是否有控制項狀態。 (繼承來源 Control) |
| IsDataBindingAutomatic |
取得值,指出資料繫結是否為自動。 (繼承來源 BaseDataBoundControl) |
| IsEnabled |
取得值,指出是否啟用控制項。 (繼承來源 WebControl) |
| IsTrackingViewState |
取得值,指出伺服器控制項是否正在儲存檢視狀態的變更。 (繼承來源 Control) |
| IsUsingModelBinders |
取得值,指出模型繫結是否正在使用。 (繼承來源 DataBoundControl) |
| IsViewStateEnabled |
取得值,指出這個控制項是否已啟用檢視狀態。 (繼承來源 Control) |
| Items |
取得清單控制項中的項目集合。 (繼承來源 ListControl) |
| ItemType |
取得或設定強型別資料繫結的資料項目型別名稱。 (繼承來源 DataBoundControl) |
| LoadViewStateByID |
取得值,指出控制項是否依 ID (而不是索引) 參與載入其檢視狀態。 (繼承來源 Control) |
| NamingContainer |
取得伺服器控制項命名容器的參考,其建立唯一命名空間,在具有相同 ID 屬性值的伺服器控制項之間作區別。 (繼承來源 Control) |
| Page |
取得含有伺服器控制項的 Page 執行個體的參考。 (繼承來源 Control) |
| Parent |
在網頁控制階層架構中取得伺服器控制項之父控制項的參考。 (繼承來源 Control) |
| RenderingCompatibility |
取得值,這個值會指定將與呈現 HTML 相容的 ASP.NET 版本。 (繼承來源 Control) |
| RenderWhenDataEmpty |
取得或設定值,表示是否要在資料來源沒有資料或控制項不是資料繫結時,呈現控制項。 |
| RepeatColumns |
取得或設定要顯示在 CheckBoxList 控制項中的資料行數目。 |
| RepeatDirection |
取得或設定值,表示要垂直或水平顯示這個控制項。 |
| RepeatedItemCount |
取得 CheckBoxList 控制項中的清單項目數。 |
| RepeatLayout |
取得或設定值,這個值指定要使用 |
| RequiresDataBinding |
取得或設定值,指出是否應該呼叫 DataBind() 方法。 (繼承來源 BaseDataBoundControl) |
| SelectArguments |
取得 DataSourceSelectArguments 物件,當從資料來源控制項擷取資料時資料繫結控制項會使用它。 (繼承來源 DataBoundControl) |
| SelectedIndex |
取得或設定清單中選取項目的最低序數索引。 (繼承來源 ListControl) |
| SelectedItem |
取得清單控制項中具有最低索引的選取項目。 (繼承來源 ListControl) |
| SelectedValue |
取得清單控制項中選取項目的值,或選取清單控制項中包含指定值的項目。 (繼承來源 ListControl) |
| SelectMethod |
為了讀取資料要呼叫的方法的名稱。 (繼承來源 DataBoundControl) |
| Site |
當呈現在設計介面上時,取得裝載目前控制項之容器的資訊。 (繼承來源 Control) |
| SkinID |
取得或設定要套用至控制項的面板。 (繼承來源 WebControl) |
| Style |
取得文字屬性的集合,將呈現為 Web 伺服器控制項的外部標記上的樣式屬性。 (繼承來源 WebControl) |
| SupportsDisabledAttribute |
取得值,這個值表示當控制項的 |
| SupportsDisabledAttribute |
取得值,這個值表示當控制項的 |
| TabIndex |
取得或設定 Web 伺服器控制項的定位索引。 (繼承來源 WebControl) |
| TagKey |
取得 ListControl 控制項的 HtmlTextWriterTag 值。 (繼承來源 ListControl) |
| TagName |
取得控制項標記的名稱。 這個屬性主要由控制項開發人員使用。 (繼承來源 WebControl) |
| TemplateControl |
取得或設定包含了此控制項之樣板的參考。 (繼承來源 Control) |
| TemplateSourceDirectory |
取得包含目前伺服器控制項的 Page 或 UserControl 的虛擬目錄。 (繼承來源 Control) |
| Text |
取得或設定 ListControl 控制項的 SelectedValue 屬性。 (繼承來源 ListControl) |
| TextAlign |
取得或設定群組中核取方塊的文字對齊方式。 |
| ToolTip |
取得或設定當滑鼠指標停留在 Web 伺服器控制項時顯示的文字。 (繼承來源 WebControl) |
| UniqueID |
取得伺服器控制項唯一的、符合階層架構的識別項。 (繼承來源 Control) |
| ValidateRequestMode |
取得或設定值,指出控制項是否對來自瀏覽器的用戶端輸入檢查潛在的危險值。 (繼承來源 Control) |
| ValidationGroup |
取得或設定控制項群組,衍生自 ListControl 類別的控制項會在回傳至伺服器時,針對這個群組進行驗證。 (繼承來源 ListControl) |
| ViewState |
取得狀態資訊的字典,允許您在相同網頁的多個要求之間,儲存和還原伺服器控制項的檢視狀態。 (繼承來源 Control) |
| ViewStateIgnoresCase |
取得值,指出 StateBag 物件是否不區分大小寫。 (繼承來源 Control) |
| ViewStateMode |
取得或設定這個控制項的檢視狀態模式。 (繼承來源 Control) |
| Visible |
取得或設定值,指出伺服器控制項是否會轉譯為頁面上的 UI。 (繼承來源 Control) |
| Width |
取得或設定 Web 伺服器控制項的寬度。 (繼承來源 WebControl) |
方法
事件
| CallingDataMethods |
正在呼叫資料方法時發生。 (繼承來源 DataBoundControl) |
| CreatingModelDataSource |
正在建立 ModelDataSource 物件時發生。 (繼承來源 DataBoundControl) |
| DataBinding |
發生於伺服器控制項繫結至資料來源時。 (繼承來源 Control) |
| DataBound |
在伺服器控制項繫結至資料來源之後發生。 (繼承來源 BaseDataBoundControl) |
| Disposed |
發生於伺服器控制項從記憶體釋放時,這是在要求 ASP.NET 網頁時,伺服器控制項生命週期的最後階段。 (繼承來源 Control) |
| Init |
發生於初始化伺服器控制項時,是其生命週期中的第一個步驟。 (繼承來源 Control) |
| Load |
發生於載入伺服器控制項至 Page 物件時。 (繼承來源 Control) |
| PreRender |
在 Control 物件載入之後但在呈現之前發生。 (繼承來源 Control) |
| SelectedIndexChanged |
當清單控制項的選取項目在發佈至伺服器期間變更時發生。 (繼承來源 ListControl) |
| TextChanged |
當 Text 和 SelectedValue 屬性變更時發生。 (繼承來源 ListControl) |
| Unload |
發生於伺服器控制項從記憶體卸載時。 (繼承來源 Control) |
明確介面實作
擴充方法
| EnablePersistedSelection(BaseDataBoundControl) |
已淘汰.
啟用要保存於資料控制項中且支援選取和分頁的選項。 |
| FindDataSourceControl(Control) |
傳回與指定之控制項的資料控制項相關聯的資料來源。 |
| FindFieldTemplate(Control, String) |
傳回在指定之控制項的命名容器中所指定資料行的欄位樣板。 |
| FindMetaTable(Control) |
傳回包含資料控制項的中繼資料表物件。 |
| GetDefaultValues(INamingContainer) |
取得所指定資料控制項的預設值集合。 |
| GetMetaTable(INamingContainer) |
取得所指定資料控制項中的資料表中繼資料。 |
| SetMetaTable(INamingContainer, MetaTable) |
設定所指定資料控制項中的資料表中繼資料。 |
| SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
設定所指定資料控制項的資料表中繼資料及預設值對應。 |
| SetMetaTable(INamingContainer, MetaTable, Object) |
設定所指定資料控制項的資料表中繼資料及預設值對應。 |
| TryGetMetaTable(INamingContainer, MetaTable) |
判斷資料表中繼資料是否可供使用。 |
| EnableDynamicData(INamingContainer, Type) |
針對指定的資料控制項啟用動態資料行為。 |
| EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
針對指定的資料控制項啟用動態資料行為。 |
| EnableDynamicData(INamingContainer, Type, Object) |
針對指定的資料控制項啟用動態資料行為。 |