用for加foreach?
用后者即可。

解决方案 »

  1.   

    你大概根本没有找到你要找的TextBox。这样,你先别清空,你给它设置个固定值例如DateTime.Now.ToString(),看看你能不能设置?如果不能设置,那么说明你连如何找都不知道呢。
      

  2.   

    原因有很多种,比如用了母版页,控件树的结构和你预期的不一样,比如button.click事件之后其他地方又给赋值了,再比如人品出现问题,等等等
      

  3.   

    你跟踪一下
      if (b is TextBox)
                         {
                             TextBox tb = (TextBox)b;
                             tb.Text ="";
     
                        }
     看能执行里面的代码不能。如果不能执行说明你没找到你要找的textbox控件。
      

  4.   

    private void btnReset_Click(object sender, System.EventArgs e)
    {
    ArrayList lstTxt=this.GetControl(this);
    foreach(object o in lstTxt)
    {
      ((System.Web.UI.WebControls.TextBox)o).Text="";
    }

    }
    private ArrayList GetControl(Control control)
    {
    ArrayList list=new ArrayList();
    foreach(Control con in control.Controls)
    {
    if(con.HasControls())
    {
    ArrayList l=GetControl(con);
    foreach(object o in l)
    {
    list.Add((TextBox)o);
    }
    }
    else
    {
    if(con.GetType()==typeof(System.Web.UI.WebControls.TextBox))
    {
    list.Add(con);
    }
    }
    }
    return list;
    }
      

  5.   

    foreach只能做迭代 
    是无法修改的
     另外你没有做递归啊
    如果你的TextBlock放在一个容器控件Panel内呢
    你是无法遍历到他的
      

  6.   

    +1  或者debug跑一下,当然 你的断点得打到 if (b is TextBox)下面