一次性清空多个TextBox: 
foreach (System.Web.UI.Control control in Controls) 

for (int i = 0; i < control.Controls.Count; i++) 

if (control.Controls[i] is System.Web.UI.WebControls.TextBox) 

System.Web.UI.WebControls.TextBox tb = (System.Web.UI.WebControls.TextBox)control.Controls[i]; 
tb.Text = ""; 


} 不理解为什么要两个循环! 
foreach (System.Web.UI.Control control in Controls) //历遍容器中每一个控件。 
for (int i = 0; i < control.Controls.Count; i++) 
//control.Controls.Count 控件的控件的集合?不理解!上面foreach都历遍了,这里干嘛还要历遍?

解决方案 »

  1.   

    因为控件包含控件,而这个被包含的控件又有子控件,如此下次,一层一层的下去,写个递归程序比较好。foreach (System.Web.UI.Control control in Controls) ////历遍容器中每一个控件

    for (int i = 0; i < control.Controls.Count; i++) //子控件中又包含子控件,所以要再历遍子控件中包含的子控件。

    if (control.Controls[i] is System.Web.UI.WebControls.TextBox) 

    System.Web.UI.WebControls.TextBox tb = (System.Web.UI.WebControls.TextBox)control.Controls[i]; 
    tb.Text = ""; 


      

  2.   

    这些TextBox是怎么排列的?外面是不是有两层容器?
      

  3.   

    你最好先监视一下for循环里的‘i’变量,如果总是1,那就去掉for循环,否则就得留着,那就是Control里面还包含Control