1、首先你的的textbox不是在this.Controls下,而是其中的HtmlForm.Controls下。2、如果你的textbox的父容器是在panel控件下,你也只能通过panel.Controls来访问,

解决方案 »

  1.   

    所以如果你想全部textbox设置为0,就要用梯归循环了,see:
    ------------------------------
    private void Button1_Click(object sender, System.EventArgs e)

               Reset(this.Controls);
    }private void Reset(ControlCollection ctls)
    {
    foreach(Control ctl in ctls)
    {
    if(ctl is TextBox)
    {
    TextBox tb=(TextBox) ctl;
    tb.Text="0";
    }
                    
    if(ctl.Controls.Count!=0)
                        Reset(ctl.Controls);
    }
    }
      

  2.   

    同意BearRui(孤熊 | 阿弥陀佛!空!)
      

  3.   

    foreach(Control control in Page.FindControl("Form1").Controls)
    {
    if (control.GetType().ToString().Equals("System.Web.UI.WebControls.TextBox"))
    {
    ((TextBox)control).Text="0";
    }
    }
      

  4.   

    BearRui(孤熊 | 阿弥陀佛!空!) 
     厉害,不错,学习一把。感谢楼主~~~~~
      

  5.   

    BearRui(孤熊 | 阿弥陀佛!空!) 我用了你那个,发现ControlCollection ctls并不可以直接用
    我是这样写的.
    ControlCollection ctls;
    foreach(Control ctl in ctls)
    {
    if(ctl is TextBox) {
    TextBox tb=(TextBox)ctl;
    tb.Text="";
    }
    }
      

  6.   

    xiaohutushen(xiaohutushen)   ("Form1")<---指的是什么东西???我的页叫EstimateCourse.aspx老说我没引用实例
      

  7.   

    private void CollectControls(ControlCollection cc) 
    {
         foreach(Control c in cc) 
         {
    if (c is TextBox )
    {
             }
    //Are there further Controls inside current Control?
    if (c.HasControls())
    {
                  CollectControls(c.Controls);
    }
          }
    }
      

  8.   

    你的HTML页面里面的FORM表单的ID是什么啊?
    把我给你写的FORM1换成你表单(FORM)的ID就可以了。