TerryLee's Tech Space
TerryLee技术专栏
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 481 文章- 2 评论- 13015
再谈如何遍历Asp.net窗体下所有的控件
这个问题在论坛上的提问比较频繁的,这里总结一下几种方法,希望对没用过的朋友有所帮助^_^。
高手就不用看了
方法一:
1
#region
2
/**/
///
<summary>
3
///
功能描述:遍历Asp.net窗体上所有的控件
4
///
作者:Terrylee
5
///
日期:2005年10月09日
6
///
</summary>
7
///
<param name="page">
要设置的页面
</param>
8
private
void
PrivilegeCheck(System.Web.UI.Control page)
9
{
10
for
(
int
i
=
0
;i
<
page.Controls.Count;i
++
)
11
{
12
foreach
(System.Web.UI.Control control
in
page.Controls[i].Controls)
13
{
14
if
(control
is
LinkButton)
15
{
16
if
(
true
)
//
仅为了测试:)
17
{
18
((LinkButton)control).Enabled
=
false
;
19
}
20
else
21
{
22
((LinkButton)control).Enabled
=
true
;
23
}
24
}
25
else
if
(control
is
TextBox)
26
{
27
((TextBox)control).Text
=
"
想要设置的内容
"
;
28
}
29
else
30
{
31
//
……
32
}
//
if
33
}
//
foreach
34
}
//
for
35
}
36
#endregion
稍后继续其他的:)
作者:
TerryLee
出处:
http://terrylee.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2005-10-09 13:04
TerryLee
阅读(842)
评论(4)
编辑
收藏
网摘
发表评论
回复
引用
查看
#1楼
2005-10-09 13:24 |
zfphere
如果是 DataGrid 嵌套了CheckBox,PlaceHolder 加载了UserControl呢??
回复
引用
查看
#2楼
[
楼主
]2005-10-09 14:01 |
Terrylee
有DataGrid的时候,原理是一样,只不过要考虑到遍历的效率问题了。
if(control is DataGrid)
{
foreach(Control ct in control.Controls)
{
if(ct is CheckBox)
{
//……
}
}
}
见站长的《
递归的妙用—遍历子控件
》:
http://www.cnblogs.com/dudu/archive/2004/09/10/41655.html
回复
引用
查看
#3楼
2006-01-10 22:02 |
zfphere
其实我想表达的也就是通过递归的方式来实现遍历。Page类对每个请求所生成的页面也是通过类似的递归来实现^_^
回复
引用
查看
#4楼
2007-05-02 18:21 |
Hafeyang
能否保证遍历所有的控件?
我的页面有
this.HyberLink1~this.Hyberlink7
可以用this.HyberLink1直接访问
但我想用这种方法遍历去实现它们的初始化
但是始终不行
我的页面使用了MasterPage
与这个有没有关系?
或者是不是有个深度的问题
比如页面的深度为2才使用上述方法
请高手指教
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
人才
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
Google站内搜索
相关文章:
相关链接:
最新IT新闻:
Google操作系统已开始内部测试?
Google阅读器界面升级 全新改版
微软官方下载:Windows Vista SP2 Beta测试版
微软发布PC Live单机游戏客户端
Firefox遭“独家”恶意软件攻击
公告
个人简介
网名:TerryLee
本名:李会军
位置:中国 北京
请大家发邮件至
微软技术通
添加微软技术通为好友
MVP配置
MVP配置
团队
个人主页
版权声明
本站采用
创作共用
许可 署名,非商业
绿色通道
1.
一步一步学Silverlight 2系列
2.
.NET设计模式系列文章
3.
ASP.NET AJAX入门系列
4.
Castle开发系列文章
5.
Enterprise Library系列
与我联系
发短消息
搜索
留言簿
给我留言
查看留言
随笔分类
[01] .NET大本营(48)
(rss)
[02] 探微知著CLR
(rss)
[03] 银光点亮世界(60)
(rss)
[04] WCF后传(17)
(rss)
[05] 架构与设计(23)
(rss)
[06] LINQ之美(3)
(rss)
[07] AJAX风云(15)
(rss)
[08] Web开发(65)
(rss)
[09] 依赖注入(14)
(rss)
[10] 模式与实践(68)
(rss)
[11] 数据持久(19)
(rss)
[12] 开源世界(35)
(rss)
[13] 代码生成(23)
(rss)
[14] 测试与重构(3)
(rss)
[15] 工作流基础
(rss)
[16] 技术曲苑杂坛(1)
(rss)
[17] 并行编程(1)
(rss)
[18] 动态语言(4)
(rss)
[20] 推荐系列(31)
(rss)
[21] 数据库相关(18)
(rss)
[30] 前沿报道(28)
(rss)
[31] 项目管理(3)
(rss)
[32] 我点我评(1)
(rss)
[33] 我思我考(13)
(rss)
[34] 社区活动(7)
(rss)
[35] 东拉西扯(37)
(rss)
随笔档案
2008年11月 (10)
2008年10月 (12)
2008年9月 (3)
2008年8月 (5)
2008年7月 (13)
2008年6月 (10)
2008年3月 (41)
2008年2月 (5)
2008年1月 (13)
2007年12月 (15)
2007年11月 (7)
2007年7月 (3)
2007年4月 (2)
2007年3月 (4)
2007年2月 (2)
2007年1月 (6)
2006年12月 (18)
2006年11月 (32)
2006年10月 (35)
2006年9月 (19)
2006年8月 (16)
2006年7月 (23)
2006年6月 (11)
2006年5月 (13)
2006年4月 (24)
2006年3月 (17)
2006年2月 (13)
2006年1月 (13)
2005年12月 (38)
2005年11月 (20)
2005年10月 (27)
2005年9月 (10)
个人站点
TerryLee @ 51CTO
(rss)
我在51CTO的镜像
TerryLee @ ASP.NET
(rss)
我在ASP.NET网站
TerryLee @ IT168
(rss)
我在IT168的镜像
TerryLee @ 博客堂
(rss)
我在博客堂的一片天地
个人主页
我的好友
Aero
(rss)
anchky
(rss)
Anytao
(rss)
Autumoon
(rss)
DDL
(rss)
Dflying Chen
(rss)
Dudu
(rss)
Fantasy Soft
(rss)
idior
(rss)
JesseQu
(rss)
Jillzhang
(rss)
kid-li
(rss)
luking
(rss)
MichelleHu
(rss)
RogerTong
(rss)
Sunmoonfire
(rss)
Teddy
(rss)
wayfarer
(rss)
阿不
(rss)
博文视点官方博客
(rss)
大人物中的小人物
(rss)
丁学
(rss)
怪怪
(rss)
蜡笔小巢
(rss)
蜡人张
(rss)
老赵
(rss)
李茹
(rss)
卢彦
(rss)
吕震宇
(rss)
罗炳桥
(rss)
难得一蠢
(rss)
鸟食轩
(rss)
努力学习的熊
(rss)
螃蟹
(rss)
水晶心情
(rss)
小寒
(rss)
雁儿飞飞
(rss)
杨正祎
(rss)
源码工作室
(rss)
张大磊
(rss)
张莹
周银辉
(rss)
积分与排名
积分 - 3655351
排名 - 2
阅读排行榜
1. .NET设计模式系列文章(153598)
2. ASP.NET AJAX入门系列(99797)
3. Enterprise Library系列文章回顾与总结(64786)
4. Castle 开发系列文章(64527)
5. ASP.NET AJAX入门系列(2):使用ScriptManager控件(56358)
6. 强烈推荐:240多个jQuery插件(56053)
7. .NET设计模式(2):单件模式(Singleton Pattern)(51714)
8. .NET设计模式(3):抽象工厂模式(Abstract Factory)(46431)
9. ASP.NET AJAX入门系列(1):概述(42894)
10. 一步一步学Silverlight 2系列文章(40604)
11. 今天下午真郁闷……(36950)
12. Castle ActiveRecord学习实践(1):快速入门指南(33880)
13. .NET设计模式(5):工厂方法模式(Factory Method)(30896)
14. ASP.NET AJAX入门系列(4):使用UpdatePanel控件(一)(28570)
15. Atlas学习手记系列(26729)
16. Enterprise Library Step By Step系列(一):配置应用程序块——入门篇(26412)
17. .NET设计模式(1):开篇(24034)
18. .NET开源项目介绍及资源推荐:序(23357)
19. 一步一步学Silverlight 2系列(1):创建一个基本的Silverlight应用(21499)
20. .NET设计模式(4):建造者模式(Builder Pattern)(21315)
21. ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件(21063)
22. Castle IOC容器快速入门(19811)
23. ASP.NET AJAX入门系列(5):使用UpdatePanel控件(二)(19196)
24. CodeSmith开发系列资料总结(19022)
25. .NET设计模式(19):观察者模式(Observer Pattern)(18470)
评论排行榜
1. 如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复(374)
2. .NET设计模式系列文章(282)
3. CodeSmith3.0开发资料下载(227)
4. 一步一步学Silverlight 2系列文章(210)
5. 新版设计模式手册[C#]下载(196)
6. .NET设计模式(3):抽象工厂模式(Abstract Factory)(176)
7. ASP.NET AJAX入门系列(2):使用ScriptManager控件(157)
8. Castle ActiveRecord学习实践(1):快速入门指南(157)
9. Castle 开发系列文章(154)
10. ASP.NET AJAX入门系列(147)
11. Enterprise Library系列文章回顾与总结(139)
12. .NET设计模式(2):单件模式(Singleton Pattern)(137)
13. .NET设计模式(19):观察者模式(Observer Pattern)(132)
14. .NET设计模式(5):工厂方法模式(Factory Method)(132)
15. 天津.NET俱乐部成立了!(131)
16. 基于模板引擎的代码生成器Smart Code预览(115)
17. ASP.NET AJAX入门系列(4):使用UpdatePanel控件(一)(114)
18. 强烈推荐:240多个jQuery插件(113)
19. ASP.NET AJAX 1.0 正式版发布(108)
20. .NET Framework终于开源了!(106)