ASP.NET CheckBoxList组件编程浅析

开发 后端
ASP.NET CheckBoxList组件编程主要想大家讲述ASP.NET CheckBoxList的常用属性使用和各自的特点以及学习的总结。

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

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

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

  1.  if ( C1 . Checked )  
  2.  {  
  3.   }  
  4.  if ( C2 . Checked )  
  5.  {  
  6.   }  
  7.  ....  
  8.  if ( C10 . Checked )  
  9.  {  
  10.  }  

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

  1.  for ( int i = 0 ; i ﹤ CHK . Items . Count ; i++ )  
  2.  {  
  3.   if ( CHK . Items [ i ] . Selected )  
  4.   {  
  5.    //处理你要完成的工作  
  6.   }  
  7.  } 

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

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

一. 如何在创建一个ASP.NET CheckBoxList组件:

  1. ﹤asp:CheckBoxList runat = "server" id = C1 ﹥  
  2. ﹤asp:ListItem Value = 1 ﹥***个检查框﹤/asp:ListItem ﹥  
  3. ﹤asp:ListItem Value = 2 ﹥第二个检查框﹤/asp:ListItem ﹥  
  4. ﹤asp:ListItem Value = 3 ﹥第三个检查框﹤/asp:ListItem ﹥  
  5. .....  
  6.  
  7. //注释:在这里可以加入若干个检查框  
  8.  
  9. ﹤/asp:CheckBoxList ﹥ 

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

二. ASP.NET 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组件中有多少检查框。

三. ASP.NET CheckBoxList组件编程中经常使用到的方法:

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

  1. CHKList . Items . Add ( new ListItem ( ﹤ text ﹥ , ﹤ value ﹥ ) ) 

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

  1. CHKList . Items [ ﹤ index ﹥ ] 

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

  1. CHKList . Items . Remove ( ﹤ index ﹥ ) 

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

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

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

  1. for ( int i = 0 ; i ﹤ ChkList . Items . Count ; i++ )  
  2. {  
  3. if( ChkList . Items [ i ] . Selected )  
  4. {  
  5. lblResult . Text += ChkList . Items [ i ] .Text + "  " ;  
  6. }  

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

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

  1. //组件中的检查框中的文本和选框的排列位置  
  2. switch ( cboAlign . SelectedIndex )  
  3. {  
  4.  case 0 :  
  5.   ChkList . TextAlign = TextAlign . Left ;  
  6.   break ;  
  7.  case 1 :  
  8.   ChkList . TextAlign = TextAlign . Right ;  
  9.   break ;  
  10. }  
  11. //组件中各个检查框布局  
  12. switch ( cboRepeatLayout . SelectedIndex )  
  13. {  
  14.  case 0 :  
  15.   ChkList . RepeatLayout = RepeatLayout . Table ;  
  16.   break ;  
  17.  case 1 :  
  18.   ChkList . RepeatLayout = RepeatLayout . Flow ;  
  19.   break ;  
  20. }  
  21. //组件中各个检查框排列方向  
  22. switch ( cboRepeatDirection . SelectedIndex)  
  23. {  
  24.  case 0 :  
  25.   ChkList . RepeatDirection = RepeatDirection . Vertical ;  
  26.   break ;  
  27.  case 1 :  
  28.   ChkList . RepeatDirection = RepeatDirection . Horizontal ;  
  29.   break ;  
  30. }  
  31. //组件中各个检查框的排列行数  
  32. try 
  33. {  
  34.  int cols = int . Parse ( txtRepeatCols.Text ) ;  
  35.  ChkList . RepeatColumns = cols ;  
  36. }  
  37. catch ( Exception )  
  38. {  

五. 文中源程序代码(Check.aspx):

Check.aspx源程序代码如下:

  1. ﹤% @ Page Language = "C#" %﹥  
  2. ﹤html ﹥  
  3. ﹤head ﹥  
  4. ﹤title ﹥ CheckBoxList组件演示程序 ﹤/title ﹥  
  5. ﹤script runat = "server" ﹥  
  6.  protected void Button_Click ( object sender , EventArgs e )  
  7.  {  
  8.   //组件中的检查框中的文本和选框的排列位置  
  9.   switch ( cboAlign . SelectedIndex )  
  10.   {  
  11.    case 0 :  
  12.     ChkList . TextAlign = TextAlign . Left ;  
  13.     break ;  
  14.    case 1 :  
  15.     ChkList . TextAlign = TextAlign . Right ;  
  16.     break ;  
  17.   }  
  18.   //组件中各个检查框布局  
  19.   switch ( cboRepeatLayout . SelectedIndex )  
  20.   {  
  21.    case 0 :  
  22.     ChkList . RepeatLayout = RepeatLayout . Table ;  
  23.     break ;  
  24.    case 1 :  
  25.     ChkList . RepeatLayout = RepeatLayout . Flow ;  
  26.     break ;  
  27.   }  
  28.   //组件中各个检查框排列方向  
  29.   switch ( cboRepeatDirection . SelectedIndex)  
  30.   {  
  31.    case 0 :  
  32.     ChkList . RepeatDirection = RepeatDirection . Vertical ;  
  33.     break ;  
  34.    case 1 :  
  35.     ChkList . RepeatDirection = RepeatDirection . Horizontal ;  
  36.     break ;  
  37.   }  
  38.   //组件中各个检查框的排列行数  
  39.   try 
  40.   {  
  41.    int cols = int . Parse ( txtRepeatCols.Text ) ;  
  42.    ChkList . RepeatColumns = cols ;  
  43.   }  
  44.   catch ( Exception )  
  45.   {  
  46.   }  
  47.   lblResult . Text = "" ;  
  48.   for ( int i = 0 ; i ﹤ ChkList . Items . Count ; i++ )  
  49.   {  
  50.    if( ChkList . Items [ i ] . Selected )  
  51.    {  
  52.     lblResult . Text += ChkList . Items [ i ] .Text + "  " ;  
  53.    }  
  54.   }  
  55.  }  
  56.  ﹤/script ﹥  
  57.  ﹤/head ﹥  
  58.  ﹤body ﹥  
  59.  ﹤form runat = "server" ﹥  
  60.   ﹤h1 align = center ﹥ CheckBoxList组件演示程序 ﹤/h1 ﹥  
  61.   ﹤table ﹥  
  62.    ﹤tr ﹥  
  63.     ﹤td ﹥ 组件中的文本排列位置: ﹤/td ﹥  
  64.     ﹤td ﹥  
  65.       ﹤asp:DropDownList id = cboAlign runat = "server" ﹥  
  66.        ﹤asp:ListItem ﹥ 居左 ﹤/asp:ListItem ﹥  
  67.        ﹤asp:ListItem ﹥ 居右 ﹤/asp:ListItem ﹥  
  68.       ﹤/asp:DropDownList ﹥  
  69.     ﹤/td ﹥  
  70.    ﹤/tr ﹥  
  71.    ﹤tr ﹥  
  72.     ﹤td ﹥ 组件中各个条目布局: ﹤/td ﹥  
  73.     ﹤td ﹥  
  74.       ﹤asp:DropDownList id = cboRepeatLayout runat = "server" ﹥  
  75.        ﹤asp:ListItem ﹥ 表格型 ﹤/asp:ListItem ﹥  
  76.        ﹤asp:ListItem ﹥ 紧凑型 ﹤/asp:ListItem ﹥  
  77.       ﹤/asp:DropDownList ﹥  
  78.     ﹤/td ﹥  
  79.    ﹤/tr ﹥  
  80.    ﹤tr ﹥  
  81.     ﹤td﹥ 组件中各个条目排列方向:﹤/td ﹥  
  82.     ﹤td ﹥  
  83.       ﹤asp:DropDownList id = cboRepeatDirection runat = "server" ﹥  
  84.        ﹤asp:ListItem ﹥ 水平方向 ﹤/asp:ListItem ﹥  
  85.        ﹤asp:ListItem ﹥ 垂直方向 ﹤/asp:ListItem ﹥  
  86.       ﹤/asp:DropDownList ﹥  
  87.     ﹤/td ﹥  
  88.    ﹤/tr ﹥  
  89.    ﹤tr ﹥  
  90.     ﹤td ﹥ 组件中各个条目排列行数: ﹤/td ﹥  
  91.     ﹤td ﹥ ﹤asp:TextBox id = "txtRepeatCols" runat = "server" /﹥ ﹤/td ﹥  
  92.    ﹤/tr ﹥  
  93.   ﹤/table ﹥ 

请选择你所需要学习的计算机语言类型:

  1.   ﹤asp:CheckBoxList id = "ChkList" RepeatDirection = Horizontal runat = "server" ﹥  
  2.    ﹤asp:ListItem ﹥ Visual C++ .Net ﹤/asp:ListItem ﹥  
  3.    ﹤asp:ListItem ﹥ Visual C# ﹤/asp:ListItem ﹥  
  4.    ﹤asp:ListItem ﹥ VB.NET ﹤/asp:ListItem ﹥  
  5.    ﹤asp:ListItem ﹥ JScript.NET ﹤/asp:ListItem ﹥  
  6.    ﹤asp:ListItem ﹥ Visual J# ﹤/asp:ListItem ﹥  
  7.   ﹤/asp:CheckBoxList ﹥  
  8.     
  9.    ﹤asp:Button Text = "提交" runat = "server" onclick = "Button_Click" /﹥  
  10.    ﹤h1 ﹥ ﹤font color = red ﹥ 你选择的计算机语言类型为: ﹤/font ﹥ ﹤/h1 ﹥  
  11.    ﹤asp:Label id = lblResult runat = "server" /﹥  
  12.  ﹤/form ﹥  
  13.  ﹤/body ﹥  
  14. ﹤/html ﹥ 

六. ASP.NET CheckBoxList组件编程总结:

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

ASP.NET CheckBoxList组件编程的相关内容就向你介绍到这里,希望对你学习ASP.NET CheckBoxList组件编程有所帮助。

【编辑推荐】

  1. ASP.NET组件设计之生命周期详解
  2. ASP.NET组件设计之传输机制浅析
  3. ASP.NET组件设计之复杂属性和状态管理浅析
  4. ASP.NET httpHandler使用浅析
  5. ASP.NET组件编程之事件编写浅析
责任编辑:仲衡 来源: 网站爱好者协会
相关推荐

2009-08-05 18:36:12

ASP.NET Che

2009-07-31 13:06:53

CheckBoxLisASP.NET页面

2009-08-10 16:07:44

ASP.NET Lin

2009-08-05 16:53:14

ASP.NET组件设计

2009-08-10 13:32:15

ASP.NET TimASP.NET组件设计

2009-07-24 18:02:46

ASP.NET编程

2009-08-10 15:26:46

ASP.NET组件编程

2009-08-03 13:38:18

ASP.NET编程模型

2009-08-05 16:59:55

ASP.NET组件设计

2009-08-03 13:12:34

ASP.NET编程模型

2009-07-27 13:34:15

ASP.NET编程

2009-08-10 14:38:29

ASP.NET组件设计

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 15:50:13

ASP.NET优点

2009-08-03 17:07:13

ASP.NET编程规范

2009-08-03 16:57:42

ASP.NET编程规范

2009-07-24 13:41:15

ASP.NET AJA

2009-08-03 18:00:00

ASP.NET服务器控

2009-08-03 11:21:47

ASP.NET编程模型

2009-07-28 16:40:11

ASP.NET异步页面
点赞
收藏

51CTO技术栈公众号