前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ASP.NET中WebForm组件CheckBoxList编程

ASP.NET中WebForm组件CheckBoxList编程

作者头像
Java架构师必看
发布2021-03-22 12:10:56
1.6K0
发布2021-03-22 12:10:56
举报
文章被收录于专栏:Java架构师必看

作者:马金虎  来自:yesky

CheckBox选择组件是一个程序中都经常的组件。在程序设计中使用到该组件,一般都不会只使用到一个,往往是以多个此类组件的形式出现的。在ASP.NET页面中如果要使用到多个CheckBox组件,除了添加多个CheckBox组件在页面中之外,还有一种比较方便的方法,就是使用CheckBoxList组件。CheckBoxList组件是由一组的CheckBox组件组成的,在此组件中CheckBox是做为条目的形式出现的,并且对每个在CheckBoxList组件中的CheckBox都有一个索引号,这样在程序中就更容易来处理了。

这时你可能要问,这不是多此一举么,既然有了CheckBox组件,还要CheckBoxList组件干什么?这是因为在程序设计的过程中,处理CheckBoxList组件要往往要比处理CheckBox组件相对容易的多并且也明了的多。举例如下:

假定有一个CheckBoxList组件和有十个CheckBox组件,并且这个CheckBoxList组件是由这十个CheckBox组件构成的。为了检测这十个CheckBox组件中的哪些已经被选择的,如果程序中选用的CheckBox组件就需要如下代码:

代码语言:javascript
复制
if ( C1 . Checked )
 {
  }
 if ( C2 . Checked )
 {
  }
 ....
 if ( C10 . Checked )
 {
 }

但如果程序中使用了CheckBoxList组件,就只需要以下这几行代码就可以了:

代码语言:javascript
复制
for ( int i = 0 ; i < CHK . Items . Count ; i++ )
 {
  if ( CHK . Items [ i ] . Selected )
  {
   //处理你要完成的工作
  }
 }

注释:其中C1 -- C10是CheckBox组件,CHK是CheckBoxList组件

可见用了CheckBoxList组件,在程序设计中的确更明了,更简洁了。并且只要你掌握了CheckBoxList组 件的用法,CheckBox组件的用法大致也就会了。

一. 如何在创建一个CheckBoxList组件

代码语言:javascript
复制
<asp:CheckBoxList runat = "server" id = C1 >
<asp:ListItem Value = 1 >第一个检查框</asp:ListItem >
<asp:ListItem Value = 2 >第二个检查框</asp:ListItem >
<asp:ListItem Value = 3 >第三个检查框</asp:ListItem >
.....
注释:在这里可以加入若干个检查框
</asp:CheckBoxList >

在ASP.NET页面中加入上面的语句,就可以产生一个名称为"C1"的CheckBoxList组件了。

二. CheckBoxList组件中经常使用到的属性:

I > .TextAlign属性:取值为:Left、Right。如果TextAlign的值为Left则CheckBoxList组件中的检查框的文字在选框的左边,同理如果TextAlign的值为Right则检查框的文字在选框的右边。

II > .Selected属性:为布尔型,判定组件中的检查框是否被选中。

III > .RepeatColumns属性:在CheckBoxList组件中有若干检查框,此属性主要是设定这些检查框到底用多少行来显示。

IV > .RepeatDirection属性:此属性的值可为:Vertical、Horizontal。当设定了RepeatColumns属性后,设定此属性是如何排列组件中的各个检查框的。具体如下:

假定CheckBoxList组件有四个检查框,并且RepeatColumns属性值为2。

(1).如果RepeatDirection = Vertical,则在页面中检查框的显示方式如下:

检查框01 检查框03

检查框02 检查框04

(2).如果RepeatDirection = Horizontal,则在页面中检查框的显示方式如下:

检查框01 检查框02

检查框03 检查框04

V > .Count属性:返回CheckBoxList组件中有多少检查框。

三. CheckBoxList组件中经常使用到的方法

(1).在组件中增加一个检查框,语法如下:

CHKList . Items . Add ( new ListItem ( < text > , < value > ) )

(2).访问组件中的检查框,语法如下:

CHKList . Items [ < index > ]

(3).删除组件中的检查框,语法如下:

CHKList . Items . Remove ( < index > )

四. 实例介绍CheckBoxList组件的使用方法:

  (1).如何判定选择了组件中的哪些检查框:

在程序中,是通过处理Selected属性和Count属性来完成的,具体如下:

代码语言:javascript
复制
for ( int i = 0 ; i < ChkList . Items . Count ; i++ )
{
if( ChkList . Items [ i ] . Selected )
{
lblResult . Text += ChkList . Items [ i ] .Text + " <br > " ;
}
}

(2).如何设定CheckBoxList组件的外观布局:

CheckBoxList组件有比较多的属性来设定它的外观,在本文介绍的程序中,主要是通过四个方面来设定组件的外观布局的:组件中的检查框中的文本和选框的排列位置、组件中各个检查框布局、组件中各个检查框排列方向和组件中各个检查框的排列行数,具体的程序代码如下:

代码语言:javascript
复制
//组件中的检查框中的文本和选框的排列位置
switch ( cboAlign . SelectedIndex )
{
 case 0 :
  ChkList . TextAlign = TextAlign . Left ;
  break ;
 case 1 :
  ChkList . TextAlign = TextAlign . Right ;
  break ;
} 
//组件中各个检查框布局
switch ( cboRepeatLayout . SelectedIndex )
{
 case 0 :
  ChkList . RepeatLayout = RepeatLayout . Table ;
  break ;
 case 1 :
  ChkList . RepeatLayout = RepeatLayout . Flow ;
  break ;
}

//组件中各个检查框排列方向
switch ( cboRepeatDirection . SelectedIndex)
{
 case 0 :
  ChkList . RepeatDirection = RepeatDirection . Vertical ;
  break ;
 case 1 :
  ChkList . RepeatDirection = RepeatDirection . Horizontal ;
  break ;
}

//组件中各个检查框的排列行数
try
{
 int cols = int . Parse ( txtRepeatCols.Text ) ;
 ChkList . RepeatColumns = cols ;
}
catch ( Exception )
{ 
}

五. 文中源程序代码(Check.aspx)和执行的界面

Check.aspx源程序代码如下:

代码语言:javascript
复制
<% @ Page Language = "C#" %>

<html >
<head >
<title > CheckBoxList组件演示程序 </title >
<script runat = "server" >
 protected void Button_Click ( object sender , EventArgs e )
 {
  //组件中的检查框中的文本和选框的排列位置
  switch ( cboAlign . SelectedIndex )
  {
   case 0 :
    ChkList . TextAlign = TextAlign . Left ;
    break ;
   case 1 :
    ChkList . TextAlign = TextAlign . Right ;
    break ;
  }

  //组件中各个检查框布局
  switch ( cboRepeatLayout . SelectedIndex )
  {
   case 0 :
    ChkList . RepeatLayout = RepeatLayout . Table ;
    break ;
   case 1 :
    ChkList . RepeatLayout = RepeatLayout . Flow ;
    break ;
  }

  //组件中各个检查框排列方向
  switch ( cboRepeatDirection . SelectedIndex)
  {
   case 0 :
    ChkList . RepeatDirection = RepeatDirection . Vertical ;
    break ;
   case 1 :
    ChkList . RepeatDirection = RepeatDirection . Horizontal ;
    break ;
  }

  //组件中各个检查框的排列行数
  try
  {
   int cols = int . Parse ( txtRepeatCols.Text ) ;
   ChkList . RepeatColumns = cols ;
  }
  catch ( Exception )
  { 
  }

  lblResult . Text = "" ;
  for ( int i = 0 ; i < ChkList . Items . Count ; i++ )
  {
   if( ChkList . Items [ i ] . Selected )
   {
    lblResult . Text += ChkList . Items [ i ] .Text + " <br > " ;
   }
  }
 }
 </script >
 </head >
 <body >
 <form runat = "server" >
  <h1 align = center > CheckBoxList组件演示程序 </h1 >
  <table >
   <tr >
    <td > 组件中的文本排列位置: </td >
    <td >
      <asp:DropDownList id = cboAlign runat = "server" >
       <asp:ListItem > 居左 </asp:ListItem >
       <asp:ListItem > 居右 </asp:ListItem >
      </asp:DropDownList >
    </td >
   </tr >
   <tr >
    <td > 组件中各个条目布局: </td >
    <td >
      <asp:DropDownList id = cboRepeatLayout runat = "server" >
       <asp:ListItem > 表格型 </asp:ListItem >
       <asp:ListItem > 紧凑型 </asp:ListItem >
      </asp:DropDownList >
    </td >
   </tr >
   <tr >
    <td> 组件中各个条目排列方向:</td >
    <td >
      <asp:DropDownList id = cboRepeatDirection runat = "server" >
       <asp:ListItem > 水平方向 </asp:ListItem >
       <asp:ListItem > 垂直方向 </asp:ListItem >
      </asp:DropDownList >
    </td >
   </tr >
   <tr >
    <td > 组件中各个条目排列行数: </td >
    <td > <asp:TextBox id = "txtRepeatCols" runat = "server" /> </td > 
   </tr >
  </table >
  <br >
   请选择你所需要学习的计算机语言类型:
  <br >
  <asp:CheckBoxList id = "ChkList" RepeatDirection = Horizontal runat = "server" >
   <asp:ListItem > Visual C++ .Net </asp:ListItem >
   <asp:ListItem > Visual C# </asp:ListItem >
   <asp:ListItem > VB.NET </asp:ListItem >
   <asp:ListItem > JScript.NET </asp:ListItem >
   <asp:ListItem > Visual J# </asp:ListItem >
  </asp:CheckBoxList >
  <br >
   <asp:Button Text = "提交" runat = "server" onclick = "Button_Click" />
   <h1 > <font color = red > 你选择的计算机语言类型为: </font > </h1 >
   <asp:Label id = lblResult runat = "server" />
 </form >
 </body >
</html >

六. 总结:

其实CheckBoxList组件也是一个服务器端组件。本文介绍了CheckBoxList组件中的一些主要的属性和方法,并且通过一个比较典型的例子说明了在ASP.NET页面中如何进行与CheckBoxList组件相关的编程,其实对于另外一个比较重要的组件--CheckBox来说,他们中有许多的相似之处,掌握了CheckBoxList组件的用法大致也就掌握了CheckBox组件的用法。

本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档