zoukankan      html  css  js  c++  java
  • ASP.Net 控件的遍历(转+修改http://www.cnblogs.com/kerryking/archive/2007/10/19/930120.html)

       页面可以被看成各种控件组成的一个集合。在页面被初始化和加载过程中,可以遍历这些控件,找到特定的控件,或者改变某些控件的属性。

                                         页面Controls
                                       /    |     \                         //foreach(Control c in Controls)       
                            控件1   控件2  控件3            // 只判断控件1、2、3属于页面Controls
                                         /      \                          //而未涉及到下属子控件
                                子控件1   子控件2    

          为了真正做到遍历所有控件集,可以用递归的方法来实现:

          代码如下:

    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            ////没有子递归的
            //foreach (System.Web.UI.Control c in this.Page.Controls)
            //{
            //    this.result.Text += c.ToString() + "-" + c.ID + "<br>";
            //}
            ThroughChildren(this.Page);
        }

        public void ThroughChildren(System.Web.UI.Control parent)
        {
            foreach (System.Web.UI.Control c in parent.Controls)
            {
                this.result.Text += "<Li>" + c.ToString()+"</Li>";
                if (c.Controls.Count > 0) //
                {
                    this.result.Text += "<ul>";
                    ThroughChildren(c);
                    this.result.Text += "</ul>";
                }
            }
        }
    }

  • 相关阅读:
    Java8简单的本地缓存实现
    Java堆内存详解
    拖拽实现备忘:拖拽drag&拖放drop事件浅析
    微信小程序下拉刷新PullDownRefresh的一些坑
    ES6里let、const、var区别总结
    nodejs大文件分片加密解密
    node+js实现大文件分片上传
    大文件上传前台分片后后台合并的问题
    fs.appendFileSync使用说明,nodejs中appendFile与writeFile追加内容到文件区别
    JS中的单线程与多线程、事件循环与消息队列、宏任务与微任务
  • 原文地址:https://www.cnblogs.com/williamwindy/p/1370419.html
Copyright © 2011-2022 走看看