有没有办法获取页面上所有可见属性的列表?

时间:2012-12-01 17:25:26

标签: c# asp.net properties visible

我希望在特定按钮的OnClick()方法中获取页面上所有可见属性的列表。有没有办法在asp.net中的c#中以编程方式执行此操作?

1 个答案:

答案 0 :(得分:2)

您需要递归迭代页面中的所有控件并找到可见的控件:

List<Control> visibleList = null;
protected void FindVisibleControls(Control parent) 
{
    foreach(Control c in parent.Controls) 
    {
       if (c.Visible)
       {
          visibleList.Add(c);
       }

       if (c.HasControls())
          FindVisibleControls(c);
    }
}

用法 - 在您的按钮中点击,如下所示:

protected Button1_Click(object sender, EventArgs e)
{
   visibleList = new List<Control>();
   FindVisibleControls(this);
}