我用foreach遍历页面的TextBox,请问怎么取出TextBox控件的ID

解决方案 »

  1.   


    foreach (Control oControl in this.Controls)
            {
                if (oControl.GetType() == typeof(HtmlForm))
                {
                    foreach (Control item in oControl.Controls)
                    {
                        if (item.GetType() == typeof(TextBox))
                        {
                            string id=((TextBox)item).ID;
                        }
                    }
                }
            }
      

  2.   


    为什么我页面上放的是TextBox,但是foreach的时候判断下来不是TextBox呢?
      

  3.   

    这里应该用递归。Control下面也有子Control。
      

  4.   


    protected void Button1_Click(object sender, EventArgs e)
            {
                foreach (Control c in this.Controls)
                {
                    if (c is TextBox)
                    {
                        Response.Write(c.ClientID.ToString());
                    }            }
            }
    我是这么写的
      

  5.   

     public void FindControl(Control.ControlCollection  c)
             {
                foreach (System.Windows.Forms.Control control in c)
                { 
                  if (control.HasChildren)
                  {
                      FindControl(control.Controls);
                  } 
                  else
                  {
                   if (control is System.Windows.Forms.TextBox) 
                   { 
                    System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control; 
                   }
                  }
                }
            }
      

  6.   

    private void Find(Control C)
    {
    foreach (Control control in c.Controls)        
    {            
    if (control is System.Web.UI.WebControls.TextBox)            
    {                
    TextBox txt = (TextBox)control;               
    txt.Text = "";         

    if (control.Controls.Count > 0)     
    {
     Find(control);               
    }      
    }
    }