站长中国
设为首页 | 站长论坛

站长论坛 站长下载
您所在的位置: 站长中国 > 站长学院 > 网络编程 > NET专区 >  正文

 遍历ASP.NET页面控件
  2008年02月20日15:32:49  评论(0条) 字体:[ ]
相关热点: 控件 页面 End As String 所有 Value
     “如何遍历ASP.NET页面所有的控件呢?“,这是在社区发问的问题中最普遍的问题之一。通常我们对这个问题的回答为:”使用Page类的controls 属性来实现”!这个controls 属性可以使我们获取一个控件的所有子控件,但是如果其中的一个子控件同样拥有自己的子控件,仅仅使用这个属性便很难获取ASP.NET页面所有的控件。所以,要根本解决这个问题,我们需要书写一些额外的方法以获取页面中的所有控件。
  
  假设页面中有若干个TextBox ,我们想遍历整个页面,然后获取所有TextBox的name和value ,并将它们显示在DataGrid中。
  
  在我们开始遍历页面之前,需要建立一个类,用于存放那些TextBox的name和value ,代码如下:
  
  Public Class UtilityObj
  
  Private _name As String
  
  Private _value As String
  
  Public Sub New(ByVal Name As String, ByVal Value As String)
  
  _name = Name
  
  _value = Value
  
  End Sub
  
  Public Property Name() As String
  
  Get
  
  Return _name
  
  End Get
  
  Set(ByVal Value As String)
  
  _name = Name
  
  End Set
  
  End Property
  
  Public Property Value() As String
  
  Get
  
  Return (_value)
  
  End Get
  
  Set(ByVal Value As String)
  
  _value = Value
  
  End Set
  
  End Property
  
  End Class
  
  
  
  这个类包含两个属性:"name" 和 "value",再定义一个公有的Arraylist(oArraylist),用于存储数据。如图:
  
  
  
  
  
  
  要实现遍历ASP.NET页面所有的控件,我们还需要定义一个主要的方法。这个方法接收一个Control类型的参数,如果这个参数为textbox,则存储它的 name 和 value。
  
  代码如下:
  
  Public Sub LoopingControls(ByVal oControl As Control)
  
  Dim frmCtrl As Control
  
  oArrayList = New ArrayList
  
  For Each frmCtrl In oControl.Controls
  
  If TypeOf frmCtrl Is TextBox Then
  
  oArrayList.Add(New UtilityObj(frmCtrl.ID, DirectCast(frmCtrl, TextBox).Text))
  
  End If
  
  If frmCtrl.HasControls Then
  
  LoopingControls(frmCtrl)
  
  End If
  
  Next
  
  End Sub
  
  
  
  我们可以使用这个方法来实现遍历ASP.NET页面所有的控件
  LoopingControls(Page)
  
  DataGrid1.DataSource = oArrayList
  
  DataGrid1.DataBind()
  
    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。


责任编辑:

收藏本文 打印 打印本文  推荐本文 告诉好友 投稿 投稿邮箱

站长排行

学院

新闻

专栏

盈利

[揭密网络黄链]中国留学生买凶专破日本
JSP语法(6)
超强弹出窗口代码,什么都挡不住
FLASH视觉特效实例之地震效果
贴吧发帖机使用教程(绝对原创)
关于数据分页(转自www.codeproject.co
ASP实现文件直接下载
Photoshop制作光感超酷效果水晶球
 遍历ASP.NET页面控件
永远的后门[经典]+查不出的后门
淘宝网卖家公然叫卖“艳照门”照片集
驳《百度Hi面世对腾讯有利》
Google绿色专家质疑黑色背景网页节省资
国内各IT企业办公环境揭秘(多图)
阿里妈妈广告卖主全攻略
站长创业源动力 主流站长站赏析
推荐阅读:80年小子的创业道理
Discuz!6.0猛将出击 最强论坛程序酷炫
我的网络,我的团队:专访李文明
百度新闻频道改版十天 流量止跌反弹翻
ECSHOP模板制作参考文档
悬挂阿里妈妈会否被百度惩罚
阿里妈妈是否是中小站长的救世主?
最强网店ECShop发新版 众多酷炫功能给
ECSHOP模板下载
土豆网,优酷网,爆米花等视频网站采集
DedeCms模板安装/制作概述
网上商店系统巅峰对决 ECShop vs ShopE
艰难的走在创业的路上 第一天
编程中国全站采集规则
性福联盟 一个不尊重站长的联盟
大脚:日赚100元—揭露最新firefox欺骗
大脚:垃圾站超级赚钱法之二—突破“站
大脚:垃圾站超级赚钱法之——前言
迅雷联盟、快车联盟收入对比
经理人必看的十个管理网站
Google Adsense的秘密 第二版
西联汇款兑付城市查询
不用SEO取得成功的10个步骤
关于做GOOGLE的五条经验
站长学院  网页设计 建站教程 图形图象 网络编程

Photoshop CS3
Photoshop CS3
不用Photoshop
不用Photoshop

DIV+CSS的开发方式 听听另外的
虚拟主机建站动易里快速生成的
VBScript特效代码 满屏幕乱跑
牛气!一个菜鸟站长的超强网站
创建、维护一个个人博客的“投
让网站流量稳步飙升的秘籍
网站推广的基本思想

新闻线索

如果你有站长界人事变动、重组并购、变革技术出现,以及产品投诉等重要新闻线索,请告诉我们,我们会给予特别关注。
0631-3653338
站长中国编辑部
站长中国24小时新闻热线: 13256307008