当前位置:编程学习 > C#/ASP.NET >>

在Asp.net页面加载时候...

在Asp.net页面加载时候,给所有的文本框赋值为string.empty 
用C#语言写???/??  请教高手 --------------------编程问答--------------------         foreach (Control control1 in this.Form.Controls)
        {
            if (control1 is TextBox)
            {
                TextBox txt = (TextBox)control1;
                txt.Text = "";
            }
        } --------------------编程问答--------------------
foreach (Control ctrl in this.Controls)
{
if (ctrl is TextBox)
{
(ctrl as TextBox).Text = string.Empty;
}
}
--------------------编程问答--------------------
引用 2 楼 snowdust 的回复:
C# codeforeach (Control ctrlinthis.Controls)
{if (ctrlis TextBox)
    {
        (ctrlas TextBox).Text=string.Empty;
    }
}

TextBox都在Form里呢,这样一个都找不到。

--------------------编程问答--------------------
引用 1 楼 zhuxiaojun2002 的回复:
foreach (Control control1 in this.Form.Controls)
         {
             if (control1 is TextBox)
             {
                 TextBox txt = (TextBox)control1;
                 txt.Text = "";
             }
         }

能找到全部也可能部分 --------------------编程问答-------------------- javascript多简单,为啥一定要后台?
jQuery的
$(function()
{
$(":text").attr("value","");
}); --------------------编程问答-------------------- asp.net 不能像window那样直接遍历this.Controls就可以了,因为:

this.Controls只是包含了Page根一级的control,这样次级的control就都没有遍历 
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);
--------------------编程问答-------------------- 我的方法绝对有用,为何楼主不结贴?
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,