请问在asp.net中如何遍历页面中所有的控件
谢谢

解决方案 »

  1.   

    foreach(System.Web.UI.Control ctrl in this.Page.Controls)
    {
    if(ctrl.GetType().ToString()=="System.Web.UI.WebControls.TextBox" )
    {
    ......;
    }
    if(ctrl.GetType().ToString()=="System.Web.UI.HtmlControls.HtmlInputText" )
    {......}}
      

  2.   

    1.
     for (int i =0; i<GlobalCategoryPanel.Controls.Count;i++)//GlobalCategoryPanel是个Panel控件
                {
                    if(GlobalCategoryPanel.Controls[i] is AdvancedPanel)//AdvancedPanel是个自定义控件
                    {
                        AdvancedPanel ap=(AdvancedPanel)GlobalCategoryPanel.Controls[i];
                        for(int ap_i=0;ap_i<ap.Controls.Count;ap_i++)
                        {
                            if(ap.Controls[ap_i] is Panel)
                            {
                                Panel ap_panel=(Panel)ap.Controls[ap_i];
                                for(int ap_panel_i=0;ap_panel_i<ap_panel.Controls.Count;ap_panel_i++)
                                {
                                    if(ap_panel.Controls[ap_panel_i] is RadioButtonList)
                                    {
                                        RadioButtonList rbl=(RadioButtonList)ap_panel.Controls[ap_panel_i];
                                        al.Add(int.Parse(rbl.SelectedValue));
                                    }
                                                    
                                }
                            }
                        }
                    }
                }2.
     示例:
    foreach(Control ctl in this.Controls[1].Controls)
    {
    if(ctl.GetType().Name=="TextBox")
    {
    TextBox tb =new TextBox();
    tb=(TextBox)this.FindControl(ctl.ID);

    Response.Write("<script>alert('" + tb=.Text+ "的值为空。');</script>");

    }
    }
    }
      

  3.   

    foreach(System.Web.UI.Control ctrl in this.Page.Controls)
    {
    ......
    }