ASP.NET之CheckBox和CheckBoxList控件

CheckBox控件和CheckBoxList控件

可以使用两种类型的 ASP.NET 控件将复选框添加到 Web 窗体页上:单独的 CheckBox 控件或 CheckBoxList 控件。两种控件都为用户提供了一种输入布尔型数据(真或假、是或否)的方法。

可以向网页中添加单独的 CheckBox 控件,然后分别进行处理。换句话说, CheckBoxList 控件则是单个控件,可作为一组复选框列表项的父控件。由于该控件源自 ListControl 基类,因此其作用非常类似于 ListBox 控件DropDownList 控件RadioButtonList 控件 BulletedList 控件。因此,使用 CheckBoxList 控件的许多过程与使用其他列表 Web 服务器控件的过程相同。

每类控件都有各自的优点。与使用 CheckBoxList 控件相比,使用各个 CheckBox 控件可以更好地控制网页上复选框的布局。例如,可以在每个复选框之间包含文本(即,非复选框的文本)。也可以控制各个复选框的字体和颜色。

如果想用数据库中的数据创建一系列复选框,则选用 CheckBoxList 控件更为理想。(您仍可以将各个 CheckBox 控件绑定到数据。)

CheckBox控件属性

ID: 简写为chkbx

AutoPostBack:获取或设置一个值,该值显示单击时控件的状态是否自动回发到服务器

Checked:获取或设置一个值,该值显示是否已选中,选中则为True,未选中则为False

Text:与复选框一起显示的文本标签,控件的文本内容

CheckChanged:控件的值改变时,发送到服务器


向网页中添加 CheckBox 控件

  1. CheckBox 控件从“工具箱”面板拖到网页上。

  2. 通过设置“ Text ”属性来指定标题。

  3. (可选)通过设置“ TextAlign ”属性来更改标题的方向。

CheckBox 控件向浏览器呈现时将分为两部分:表示复选框的 input 元素和表示复选框标题的单独 label 元素。这两个元素的组合依次包含在 span 元素中。

在对 CheckBox 控件应用样式或属性设置时,设置将应用于外部的 span 元素。例如,如果设置了控件的“ BackColor ”属性,此设置将应用于 span 元素,因此对其内部的 input 和 label 属性均有影响。

CheckBoxList控件属性

ID:简写为chkbxlst

AutoPostBack:和CheckBox属性相同

ListItem:和CheckBox中Text不同的是CheckBoxList中添加文本为编辑项,鼠标点击控件会出现小箭头,点击后                 有编辑项,在ListItem需要添加成员,成员有Enabled、Selected、Text和Value属性

Items:获取列表控件项的集合

事件:OnSelectedIndexChanged 当选择的项发生改变时会触发,此事件要与AutoPostBack属性配合使用

向网页中添加 CheckBoxList 控件

  • CheckBoxList 控件从“工具箱”面板拖到网页上。

当使用 CheckBoxList 控件时,将向网页添加单个控件。向控件添加项是一个独立的过程,它取决于要在控件中显示的是一个静态列表,还是从数据源动态生成的列表。

为 CheckBoxList 控件定义静态项

  1. 在“设计”视图中,右键单击 CheckBoxList 控件,再单击“显示常用控制任务”。

  2. 在“CheckBoxList 任务”菜单上,单击“编辑项”。

  3. 在“ListItem 集合编辑器”对话框中,单击“添加”添加一项。

  4. 在“ListItem 属性”区域中,设置 TextValue 属性。

  5. 重复步骤 3 和步骤 4,直到添加了所有需要的项。

将 CheckBoxList 控件绑定到数据源

  1. 在“设计”视图中,右键单击 CheckBoxList 控件,再单击“显示常用控制任务”。

  2. 在“CheckBoxList 任务”菜单上,单击“选择数据源”。

  3. 在“数据源配置向导”中,从“选择数据源”下拉列表中为“CheckBoxList”控件选择数据源。在“选择要显示在 CheckBoxList 中的数据域”下拉列表中,选择包含用户将看到的文本所对应的域。在“选择 CheckBoxList 的值所对应的数据域”下拉列表中,选择用户通过选择列表中的项以编程方式访问的数据所对应的区域。

代码

//1.遍历items集合中每一项,将CheckBox的状态赋值给集合中的每一项

 foreach (ListItem l in this.chkbxlst.Items)
            {
                l.Selected = this.chkbx.Checked;
            }

//2.统计checkboxlist 的选中Items个数
 int count = this.chkbxlst.Items.Cast<ListItem>().Count(p=>p.Selected);
//3.比较checkboxlist的选中Items个数和checkboxlist的Items的个数是否相等,并将结果赋值给全选CheckBox
 this.chkbx.Checked=(count==this.chkbxlst.Items.Count);



  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值