遍历页面上的控件
void DisplayAllControls(Control topctrl){
foreach(Control ctrl in topctrl.Controls){
Response.Write(ctrl.ID+" 是一个 "+ctrl.GetType().ToString()+"<br>");
if(ctrl.HasControls())
DisplayAllControls(ctrl);
}
}
这样用:
void Page_Load(object src,EventArgs e){
DisplayAllControls(this);
}

解决方案 »

  1.   

    这是个遍历页面的,改改吧
    static public void InitButtons(System.Web.UI.Page p)
    {
    for(int i=0;i<p.Controls.Count;i++)
    {
    if(p.Controls[i].HasControls())
    {
    for(int j=0;j<p.Controls[i].Controls.Count;j++)
    {
    if(p.Controls[i].Controls[j].GetType().Namespace=="System.Web.UI.WebControls")
    {

    if(p.Controls[i].Controls[j].GetType().Name=="Button")
    {
    if(((Button)(p.Controls[i].Controls[j])).Text=="增加")
    {
    ((Button)(p.Controls[i].Controls[j])).Enabled=true;

    }
    else if(((Button)(p.Controls[i].Controls[j])).Text=="保存")
    {
    ((Button)(p.Controls[i].Controls[j])).Enabled=false;

    }
    else if(((Button)(p.Controls[i].Controls[j])).Text=="放弃")
    {
    ((Button)(p.Controls[i].Controls[j])).Enabled=false;

    }
    }


    }
    }
    }
    }
    }
      

  2.   

    兄弟不知道该怎么谢你了!
    最后问你一个问题!
    void DisplayAllControls(Control topctrl){
    foreach(Control ctrl in topctrl.Controls){
    Response.Write(ctrl.ID+" 是一个 "+ctrl.GetType().ToString()+"<br>");
    if(ctrl.HasControls())
    DisplayAllControls(ctrl);//这里这么些不影响循环的次数吗!???偶有些不理解,能给偶解释一下吗!?这时的ctrl已经是子控件了呀!循环为什么不出错呢!?实在是不理解呀!
    }
    }
      

  3.   

    public void FormatWebFormTextBoxOfText(System.Web.UI.Page page,string FormatValue)
    {
    int i,j;
    for (i = 0; i < page.Controls.Count; i++)
    {
    if (page.Controls[i].HasControls())
    {
    for (j = 0; j < page.Controls[i].Controls.Count; j++)
    {
    if (page.Controls[i].Controls[j].GetType().Namespace == "System.Web.UI.WebControls")
    {
    if(page.Controls[i].Controls[j].GetType().Name=="TextBox")
    {
    if (FormatValue == null)
    {
    ((TextBox)(page.Controls[i].Controls[j])).Text = "";
    }
    else
    {
    ((TextBox)(page.Controls[i].Controls[j])).Text = FormatValue;
    }
    }
    }
    }
    }
    }
    }
    你试试这样行不行!