Asp.Net如何遍历所有TextBox控件并清空

asp.net 不能像window那样直接遍历this.Controls就可以了,因为:

  1. this.Controls只是包含了Page根一级的control,这样次级的control就都没有遍历
  2. TextBox一般会放在form里面,遍历this.Controls只会访问form control,而不会访问form的子Contorl

下面使用递归对页面control树进行完全遍历

private void ResetTextBox(ControlCollection cc)
    {
        foreach (Control ctr in cc)
        {
            if (ctr.HasControls())
            {
                ResetTextBox(ctr.Controls);
            }
            if (ctr is TextBox)
            {
                ((TextBox)ctr).Text = string.Empty;
            }
        }
    }

调用

ResetTextBox(this.Controls);

/// <summary>
/// 清空textBox
/// </summary>
/// <param name="ParentControl"></param>
public static void GetChildControlClear(Control ParentControl)
{
if (ParentControl.HasControls())
{
foreach (Control ctl in ParentControl.Controls)
{
if(ctl.GetType().ToString() == "System.Web.UI.WebControls.TextBox")
{
((System.Web.UI.WebControls.TextBox)ctl).Text = "";
}
GetChildControlClear(ctl);
}
}
}

Code
1 FieldInfo[] infos = GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);
2        for (int i = 0; i < infos.Length; i++)
3        {
4            if (infos[i].FieldType == typeof(TextBox))
5            {
6                ((TextBox)infos[i].GetValue(this)).Text = "";
7            }
8        }

Code
1<script language="javascript" type="text/javascript">
2        function ClearAllTextBox() {
3            var obj = window.document.forms[0];
4            for (i = 0; i < obj.elements.length; i++) {
5                var elem = obj.elements[i];
6                if (elem) {
7                    if (elem.type == "text") {
8                        elem.value = "";
9                    }
10                }
11            }
12        }
13    </script>

引用至:http://hi.baidu.com/cuicanrensheng/item/f89eef9d735f59c9b725318e

ASP.NET遍历textbox文本框的更多相关文章

  1. TextBox 文本框水印文字

    #region TextBox 文本框水印文字 /// <summary> /// 基于.NET 2.0的TextBox工具类 /// </summary> public st ...

  2. WinForm -- 为TextBox文本框添加鼠标右键菜单

    WinForm -- 为TextBox文本框添加鼠标右键菜单 1. 新建一个WinForm项目,放置一个TextBox控件 2. 从工具箱拖进来一个ContextMenuStrip 3. 将TextB ...

  3. Jquery获取下拉选择节点名称值赋给textbox文本框 获取 父节点的栏目名称编号

    <label for="parentNode" style="float:left" >父级栏目:</label> <select ...

  4. Asp.net中使用文本框的值动态生成控件的方法

    这篇文章主要介绍了Asp.net中使用文本框的值动态生成控件的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 看到一个网友,有论坛上问及,动态的生成checkbox控件,在文本框中输入一个“花 ...

  5. [WPF]实现TextBox文本框单击全选

    原文:[WPF]实现TextBox文本框单击全选 /// <summary>         /// Void:设置获取焦点时全选文本         /// </summary&g ...

  6. ASP.NET 动态创建文本框 TextBox (add TextBox to page dynamically)

    下面的函数每执行一次就生成一个TextBox(其实是<input type="Text">)    var i=0;     function changeIt()   ...

  7. ASP.NET中 TextBox 文本输入框控件的使用方法

    TextBox控件又称文本框控件,为用户提供输入文本的功能. 1.属性 TextBox控件的常用属性及说明如表1所示. 表1 TextBox控件常用属性及说明 属性 说明 AutoPostBack 获 ...

  8. Winform - 判断GroupBox控件中的TextBox文本框是不是为空

    foreach (Control item in this.groupBox2.Controls) { if (item is TextBox) { if (item.Text.Trim() == & ...

  9. 遍历input文本框

    最近写的一个项目中,页面中有很多的“text文本框”和“select下拉框” 校验input框和select框是否非空,如果为空给出提示.反之,隐藏提示内容. html  页面中的input类型有ty ...

随机推荐

  1. Java中几种常见排序算法

    日常操作中常见的排序方法有:冒泡排序.快速排序.选择排序.插入排序.希尔排序等. 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数 ...

  2. Android简单拨号

    package com.example.phonecall; import android.net.Uri; import android.os.Bundle; import android.app. ...

  3. centos6.5下磁盘分区及挂载

    1..查看磁盘空间 2.磁盘分区 3.格式化分区 4.挂载/卸载

  4. 第三十六篇、webService

    在很多的情况下,我们会常常遇到webservive写的接口,往往这种情况下,我们就需要拼接一段报文去与服务器对接 首先要明白webService的工作原理,,,(http://www.cnblogs. ...

  5. Cocos2d-x实例:设置背景音乐与音效-设置场景实现

    设置场景(Setting),Setting.h文件代码如下: #ifndef __Setting_SCENE_H__ #define __Setting_SCENE_H__ #include &quo ...

  6. 深入理解JavaScript中的this关键字

    1. 一般用处 2. this.x 与 apply().call() 3. 无意义(诡异)的this用处 4. 事件监听函数中的this 5. 总结 在JavaScript中this变量是一个令人难以 ...

  7. 利用js来实现一些常用的算法

    示例代码中的arr指的是给出的数组,s指的是数组的起始坐标0,end指的是数组的最后一个坐标arr.length-1,n指的是要查找的数字 查找某个值: 1.线性法 function findInAr ...

  8. 生成随机字符串(UUID方法)

    这是另一种用UUID生成随机字符串的方法. public class RandomGenerator{ private int length; public void setLength(int le ...

  9. 值初始化-new

    程序如下#include<iostream>using namespace std; int main(){        int *a=new int(1);        int *b ...

  10. 输入与enter

    #include<iostream> using namespace std; int main() { char a,b,c; while(scanf("%c%c%c" ...