CheckBoxList 类

创建多项选择复选框组,该复选框组可以通过将控件绑定到数据源动态创建。

**命名空间:**System.Web.UI.WebControls
**程序集:**System.Web(在 system.web.dll 中)

语法

声明
Public Class CheckBoxList
    Inherits ListControl
    Implements IRepeatInfoUser, INamingContainer, IPostBackDataHandler
用法
Dim instance As CheckBoxList
public class CheckBoxList : ListControl, IRepeatInfoUser, INamingContainer, IPostBackDataHandler
public ref class CheckBoxList : public ListControl, IRepeatInfoUser, INamingContainer, IPostBackDataHandler
public class CheckBoxList extends ListControl implements IRepeatInfoUser, INamingContainer, 
    IPostBackDataHandler
public class CheckBoxList extends ListControl implements IRepeatInfoUser, INamingContainer, 
    IPostBackDataHandler

备注

CheckBoxList 控件提供可以通过数据绑定动态生成的多项选择复选框组。它包含一个 Items 集合,集合中的成员与列表中的各项相对应。若要确定选中了哪些项,请循环访问该集合并测试列表中每一项的 Selected 属性。

可以通过使用 RepeatLayoutRepeatDirection 属性指定列表的显示方式。如果将 RepeatLayout 设置为 RepeatLayout.Table(默认设置),则列表将呈现在表中。如果将其设置为 RepeatLayout.Flow,则列表将以不具有任何表结构的方式呈现。默认情况下,RepeatDirection 设置为 RepeatDirection.Vertical。将该属性设置为 RepeatDirection.Horizontal 时,列表将水平呈现。

CheckBoxList 控件提供方便的数据绑定功能。然而,单个的 CheckBox 控件可提供对布局的更多控制。

警告

此控件可用来显示用户输入,而该输入可能包含恶意的客户端脚本。在您的应用程序中显示从客户端发送来的信息之前,先检查这些信息中是否有可执行脚本、SQL 语句或其他代码。可以在将输入文本显示在控件中之前使用验证控件验证用户输入。ASP.NET 提供了输入请求验证功能,可以阻止用户输入中的脚本和 HTML 代码。有关更多信息,请参见 保证标准控件的安全如何:通过对字符串应用 HTML 编码在 Web 应用程序中防止脚本侵入在 ASP.NET 网页中验证用户输入

辅助功能

默认情况下为此控件呈现的标记可能不符合 Web 内容辅助功能准则 1.0 (WCAG) 中优先级为 1 的准则等辅助功能标准。有关此控件的辅助功能支持的详细信息,请参见 ASP.NET 控件和辅助功能

主题 位置
演练:到自定义业务对象的数据绑定 在 Visual Studio 中构建 ASP .NET Web 应用程序
如何:设置列表 Web 服务器控件中的选定内容 (Visual Studio) 在 Visual Studio 中构建 ASP .NET Web 应用程序
如何:向 Web 窗体页添加 CheckBox Web 服务器控件 (Visual Studio) 在 Visual Studio 中构建 ASP .NET Web 应用程序
演练:在 Visual Web Developer 中创建和使用 ASP.NET 母版页 在 Visual Studio 中构建 ASP .NET Web 应用程序
如何:根据数据源来填充列表 Web 服务器控件 (Visual Studio) 在 Visual Studio 中构建 ASP .NET Web 应用程序
如何:向 Web 窗体页添加 CheckBoxList Web 服务器控件 (Visual Studio) 在 Visual Studio 中构建 ASP .NET Web 应用程序
如何:在列表 Web 服务器控件中添加项 (Visual Studio) 在 Visual Studio 中构建 ASP .NET Web 应用程序
演练:在 Visual Web Developer 中创建和使用 ASP.NET 母版页 使用 Visual Web Developer 生成应用程序
如何:向 Web 窗体页添加 CheckBox Web 服务器控件 (Visual Studio) 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:设置列表 Web 服务器控件中的选定内容 (Visual Studio) 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:响应列表 Web 服务器控件中的更改 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:向 Web 窗体页添加 CheckBoxList Web 服务器控件 (Visual Studio) 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:根据数据源来填充列表 Web 服务器控件 (Visual Studio) 在 Visual Studio 中生成 ASP .NET Web 应用程序
演练:到自定义业务对象的数据绑定 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:在列表 Web 服务器控件中添加项 (Visual Studio) 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:确定 List Web 服务器控件中的所选内容 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:设置 CheckBoxList Web 服务器控件中的布局 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:向 Web 窗体页添加 CheckBox Web 服务器控件 (Visual Studio) 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:设置列表 Web 服务器控件中的选定内容 (Visual Studio) 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:响应列表 Web 服务器控件中的更改 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:向 Web 窗体页添加 CheckBoxList Web 服务器控件 (Visual Studio) 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:根据数据源来填充列表 Web 服务器控件 (Visual Studio) 在 Visual Studio 中生成 ASP .NET Web 应用程序
演练:到自定义业务对象的数据绑定 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:在列表 Web 服务器控件中添加项 (Visual Studio) 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:确定 List Web 服务器控件中的所选内容 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:设置 CheckBoxList Web 服务器控件中的布局 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:响应列表 Web 服务器控件中的更改 生成 ASP .NET Web 应用程序
如何:向 Web 窗体页添加 CheckBoxList Web 服务器控件 生成 ASP .NET Web 应用程序
如何:确定 List Web 服务器控件中的所选内容 生成 ASP .NET Web 应用程序
如何:从数据源填充 List Web 服务器控件 生成 ASP .NET Web 应用程序
如何:向 Web 窗体页添加 CheckBox Web 服务器控件 生成 ASP .NET Web 应用程序
如何:在 List Web 服务器控件中添加项 生成 ASP .NET Web 应用程序
如何:设置 CheckBoxList Web 服务器控件中的布局 生成 ASP .NET Web 应用程序
如何:设置 List Web 服务器控件中的所选内容 生成 ASP .NET Web 应用程序

示例

下面的代码示例演示如何在网页上创建 CheckBoxList 控件。

提示

下面的代码示例使用单文件代码模型,当它直接复制到代码隐藏文件时可能不能正常工作。此代码示例必须被复制到具有 .aspx 扩展名的空文本文件中。有关 Web 窗体代码模型的更多信息,请参见 ASP.NET 网页代码模型

<%@ Page Language="VB" AutoEventWireup="True" %>

<html>

<head>

   <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 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"/>
             
   </form>
          
</body>

</html>
<%@ Page Language="C#" AutoEventWireup="True" %>

<html>

<head>

   <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 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"/>
             
   </form>
          
</body>

</html>

.NET Framework 安全性

继承层次结构

System.Object
   System.Web.UI.Control
     System.Web.UI.WebControls.WebControl
       System.Web.UI.WebControls.BaseDataBoundControl
         System.Web.UI.WebControls.DataBoundControl
           System.Web.UI.WebControls.ListControl
            System.Web.UI.WebControls.CheckBoxList

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

CheckBoxList 成员
System.Web.UI.WebControls 命名空间
ListControl
CheckBox 类

其他资源

CheckBox 和 CheckBoxList Web 服务器控件
保证标准控件的安全
如何:通过对字符串应用 HTML 编码在 Web 应用程序中防止脚本侵入
在 ASP.NET 网页中验证用户输入