foreach(control ctr in page.controls)
{
  ....
}

解决方案 »

  1.   

    foreach (GridViewRow rowview in YourGridView.Rows){
    Label lb1 = ((Label)rowview.FindControl("Label1"));
    TextBox tb1 = ((TextBox)rowview.FindControl("TextBox1"));
    ………………
    }
      

  2.   

    我是想遍历 gridview的所有控件.5楼的理解错了,我根本就不知道gridiview中控件的id
    遍历啊 。。
      

  3.   

    那是分配权限 ,我现在想做的是权限判断.
    说 一个例子 我在一个页面的gridview中有一个控件假设是button吧.
    我想从页面把这个button的id读取出来和数据库的权限进行比对.如果有就显示没有隐藏这个控件
    问题就是如何读取这个button的id
      

  4.   

    就像我们现在所在的csdn的论坛我们是不能用删除和修改的按钮啊可以用举报,引用以及回复的按钮
      

  5.   

    先用foreach遍历gridvie每一行 
    foreach(GridViewRow myrow in this.GridView1.Rows) 

      if(e.RowIndex = myrow.RowIndex) 
      { 
        TextBox txt = myrow.cells[2].findControl("TextBox1"); 
      } 
    }
    权限问题 强烈关注
      

  6.   

    晕,我说过不知道 gridview中控件的id号,又来一个TextBox1..
      

  7.   

    您可以试试类似以下的代码://功能:遍历控件parentControl的下一级子控件,并添加到childControlsList中去
    void GetChildControls(Control parentControl,List<Control> childControlsList)
    {
        if(parentControl.Controls.Count>0)
        {
            foreach(Control child in parentControl.Controls) 
            { 
               childControlsList.Add(child);
               GetChildControls(child,childControlsList);    //这里再便历子控件的子子控件
            }
        }
    }
      

  8.   

    我的明白 我先把遍历所有控件的代码 放在这里 
    public void setControls(System.Web.UI.ControlCollection contr)
        {
            foreach (Control co in contr)
            {
                switch (co.GetType().Name.ToString())
                {
                    case "Button":
                        Response.Write("<script language='javascript'>alert('" + (co as Button).ID.ToString() + "');</script>");
                        break;
                    case "TextBox":
                        Response.Write("<script language='javascript'>alert('" + (co as TextBox).ID.ToString() + "');</script>");
                        break;
                    case "GridView":
                       setControls((co as GridView).Controls);
                        Response.Write("<script language='javascript'>alert('" + (co as GridView).ID.ToString() + "');</script>");
                        break;
                    case "LinkButton":
                        Response.Write("<script language='javascript'>alert('" + (co as LinkButton).ID.ToString() + "');</script>");
                        break;
                    default:
                        setControls(co.Controls);
                        break;
                }
                //  Response.Write("<script language='javascript'>alert('"+((Control)(co.ID)).ToString()+"');</script>");        }
        }
    不过 有点 问题 
    我先做了一个父类parentpage 我在parentpage的oninit事件下调用this.setControls(this.Controls)
    但是总是找不到gridview下的控件
    但在 普通页面下的page_load事件下 调用this.setControls(this.Controls) 却能够找到gridview下的控件 
    很烦啊
      

  9.   

    其实这段代码也是在网上找的,不过在父类的OnInit事件下就是找不到gridview里面的控件