CheckBoxList Web 伺服器控制項宣告式語法
更新:2007 年 11 月
建立多重選取的核取方塊群組。這個控制項支援繫結至資料來源。
<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" 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 控制項中的項目 (Item),請將每個項目 (Entry) 的 ListItem 項目 (Element) 置於 CheckBoxList 控制項的開頭和結尾標記之間。
注意事項: |
---|
您也可以使用多個 CheckBox 控制項。CheckBoxList 控制項比較適合於使用資料繫結建立核取方塊組,而個別的 CheckBox 控制項則可讓您對配置擁有較好的控制。 |
CheckBoxList 控制項也支援資料繫結。若要將控制項繫結至資料來源,請先建立資料來源,例如其中一個 DataSourceControl 物件,並在其中包含要在控制項中顯示的項目。接下來,使用 DataBind 方法,將資料來源繫結至 CheckBoxList 控制項。您可以使用 DataTextField 和 DataValueField 屬性來指定資料來源中的欄位,以分別繫結至控制項中每個清單項目的 Text 和 Value 屬性。CheckBoxList 控制項現在將會顯示來自資料來源的資訊。
若要判斷 CheckBoxList 控制項中的選取項目,請逐一查看 Items 集合,並測試集合中每個項目的 Selected 屬性。
只要使用 RepeatLayout 和 RepeatDirection 屬性,即可指定顯示清單的方式。如果 RepeatLayout 設定為 RepeatLayout.Table (預設設定值),清單就會在表格內呈現。如果將它設定為 RepeatLayout.Flow,清單則會以不具任何表格結構的方式呈現。根據預設,RepeatDirection 設定為 RepeatDirection.Vertical。將這個屬性設定為 RepeatDirection.Horizontal,便會以水平方式呈現清單。
警告: |
---|
尚未顯示於 CheckBoxList 控制項中的文字,便還未經過 HTML 編碼。這樣便可以在文字中的 HTML 標記內嵌入指令碼。如果控制項的值來自使用者輸入,請務必驗證值來協助防止安全性的弱點。 |
如需 CheckBoxList Web 伺服器控制項之屬性和事件的詳細資訊,請參閱 CheckBoxList 類別文件。
範例
以下所示為 .aspx 檔案中 CheckBoxList 控制項的範例宣告。清單中含有六個不會互斥的項目。當使用者核取其中一個方塊時,網頁並不會立即回傳給伺服器 (網頁要一直等到像是 Button 被按一下的某些其他事件發生時才會回傳)。沒有任何 OnSelectedIndexChanged 事件處理常式會被呼叫,因為並沒有對該事件宣告任何方法。
<asp:CheckBoxList id="Check1"
RepeatLayout="flow"
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>
<asp:CheckBoxList id="Check1"
RepeatLayout="flow"
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>
下列範例會示範如何判斷 CheckBoxList 控制項中的選取核取方塊。程式碼會逐一查看控制項的 Items 集合,並測試每個項目的 Selected 屬性。然後,選取的項目就會在 Label 控制項中出現。
Sub Button1_OnClick(ByVal sender As Object, ByVal e As EventArgs)
Dim s As String
Dim i As Integer
s = "Selected items:<br />"
For i = 0 To Check1.Items.Count - 1
If Check1.Items(i).Selected Then
s = s & Check1.Items(i).Text & "<br />"
End If
Next i
Label1.Text = s
End Sub
void Button1_OnClick(Object sender, EventArgs e)
{
string s;
s = "Selected items:<br />";
for (int i = 0; i < Check1.Items.Count; i++)
{
if (Check1.Items[i].Selected)
{
s = s + Check1.Items[i].Text + "<br />";
}
}
Label1.Text = s;
}