作者:马金虎  来自:yesky

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

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

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

 if ( C1 . Checked ) {  } if ( C2 . Checked ) {  } .... if ( C10 . Checked ) { } 

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

 for ( int i = 0 ; i < CHK . Items . Count ; i++ ) {  if ( CHK . Items [ i ] . Selected )  {   //处理你要完成的工作  } }

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

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

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

<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属性来完成的,具体如下:

for ( int i = 0 ; i < ChkList . Items . Count ; i++ ){if( ChkList . Items [ i ] . Selected ){lblResult . Text += ChkList . Items [ i ] .Text + " <br > " ;}}

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

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

//组件中的检查框中的文本和选框的排列位置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)后,生成的界面:

  Check.aspx源程序代码如下:

<% @ 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组件的用法。

ASP.NET中WebForm组件CheckBoxList编程相关推荐

  1. ASP.NET的WebFrom组件LinkButton编程

    作者:阿虎  来自:yesky 在ASP.NET的WebForm组件中的LinkButton组件也是一个服务器端的组件,这个组件有点类似于HTML中的<A>标识符.它的主要作用是就是在AS ...

  2. Asp.Net中WebForm与MVC,Web API模式对比

    webform,web mvc和web api都是asp.net官方的三套框架,想对比下三者的关系,查了下资料,web api跟web mvc基本同属一脉,只是mvc多了一个视图渲染,网上有些博客介绍 ...

  3. 在 ASP.NET 中实现会话状态的基础

    简介 在 Web 应用程序这样的无状态环境中,了解会话状态的概念并没有实际的意义.尽管如此,有效的状态管理对于大多数 Web 应用程序来说都是一个必备的功能.Microsoft® ASP.NET 以及 ...

  4. ASP.NET基础与入门:WebForm,事件驱动编程,Page类

    注:因为这个暑假做了一个ASP.NET的项目(WebForms模式),暑假期间太忙没有来得及整理,现在统一梳理下知识(有些我认为可以跟HTML共通的就没记) 推荐几个学习ASP.NET的网站: W3S ...

  5. ASP页面中访问基于.net的COM组件[转]

    在我的编程实践中,需要从.NET的Web Form页面传递加密的字符串信息(如用户名和密码等)到ASP页面,然后在该页面对该加密字符串进行解密.如果传递的不是加密串,通过GET或POST的方式就可以直 ...

  6. ASP.NET中分步骤向导组件Wizard组件的使用

    场景 ASP.NET中新建Web网站并部署到IIS上(详细图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/107199 ...

  7. 组件开发之ASP.NET中集成资源文件的服务器端控件开发

    一个ASP.net中的控件,往往要使用到一些图片.CSS和脚本JS文件等等,如果要求用户把这些资源文件自己复制到网站目录中,往往让人感觉很麻烦很不专业.如果能够在控件中包含这些资源,能够自动引用,不单 ...

  8. ASP.NET中对STA COM组件的不正确调用产生的w3wp远程DoS

    文章作者:debasis[AT]hackingspirits.com 译者注:本文是对06年一著名漏洞的漏洞分析,只因发现过程及漏洞产生机理极有价值,特翻译之,故没有注重其时效性,请各位包涵 :) 厂 ...

  9. 在ASP.NET中面向对象的编程思想

    首先,我们还是来谈一下面向对象的编程思想吧.我想现在的主流编程思想无非两种:结构与面向对象.以前,在ASP中我们完全采用的是结构化思想.现在,asp.net可以完全支持面向对象的编程思想,这不得不说是 ...

最新文章

  1. log4j无法显示mybatis sql
  2. TLSNotary中心化预言机(2) 核心功能
  3. devserver配置_vue.config.js的配置
  4. [leetcode] 198.打家劫舍
  5. c#子线程中打开系统文件操作对话框
  6. Hibernate如何存储二级缓存条目
  7. ansible之二:模块用法
  8. Redis集群之官方集群
  9. 【机器学习-西瓜书】九、K-means;聚类算法划分
  10. 【常识】—— 生物学
  11. 牛客编程巅峰赛S2第6场 - 钻石王者
  12. [置顶] 63行代码完美实现html5 贪吃蛇游戏
  13. axios的this指向_vue使用axios时this指向哪里
  14. Windows下Redis-Cluster伪集群搭建
  15. 2019长江课堂作业答案_2019长江作业本同步练习册九年级数学参考答案,人教版!...
  16. Markdown入门指南
  17. EASYAR + UNITY + MMD4 制作 AR 小软件(特效非常赞)
  18. cqp VS bitrate VS crf [学习笔记]
  19. bzoj1615 [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机
  20. 浅谈电子配线架智能布线管理系统(二)

热门文章

  1. EEPW单片机C语言程序设计,基于CH340T的STC89C52RC编程器设计
  2. c语言 栈求解表达式_非线性方程组的编程求解方法
  3. python夹角余弦雷达图_性能可靠,可以全方位扫描的“千里眼”——先进的相控阵雷达...
  4. html 页面自适应窗口大小,JavaScript实现自适应窗口大小的网页
  5. Python,OpenCV中的霍夫圆变换——cv2.HoughCircles()
  6. PCL分割:Conditional Euclidean Clustering官方历程,在自己配置环境上调错
  7. 个人建议:设置Alt+S快捷键来控制VSCode自动保存切换功能
  8. vim复制代码包含注释时格式会乱掉的解决办法
  9. Marvelous Designer衣袖设计教程
  10. readelf 读取动态链接表命令