遍历页面中的所有textbox设为空

   今天一同学问我怎么样可以遍历页面中的textbox ,我一直记得是页面有个什么控件的结合,直接遍历一下就可以获得,就直接告诉他了。
后来想想还是自己做一遍比较好,发现了点小问题,直接用for循环怎么也遍历不到。最后调试才发现,一个for循环只能遍历最外边一层的控件,要想全部获得就要使用递归,贴出测试代码:
protected void Button1_Click(object sender, EventArgs e)
        {
            ClearControl(this.Controls);
        }

        protected void ClearControl(ControlCollection ct)
        {
            foreach (Control ctl in ct)
            {
                if (ctl is TextBox)
                {
                    TextBox t = (TextBox)ctl;
                    t.Text = string.Empty;
                }
                if (ctl.HasControls())
                {
                    ClearControl(ctl.Controls);
                }
            }
        }

上边是.net里面的,顺便把winform中的遍历控件的方法也贴出来,防止以后再忘了:

foreach (System.Windows.Forms.Control control in this.Controls)
      {
            if (control is System.Windows.Forms.TextBox)
             {
                System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ;
                 tb.Text = String.Empty ;
            }
      }

转载于:https://www.cnblogs.com/n666/archive/2010/09/01/2190896.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值