2010-09-20 59 views
0

我使用asp.net 4.如何隐藏所有的面板在页面

我需要他们的可见性设置为对所有面板的WebControl的页面为假像

uxTypesDisplayer.Visible = false; 

我需要为所有此面板设置可见性,而不必提及每个面板的单个ID。

你知道家伙该怎么做吗?谢谢

回答

6
public void HidePanelsRecursively(Control container) 
{ 
    if (container is Panel) 
     container.Visible = false; 

    foreach (Control ctrl in container.Controls) 
     HidePanelsRecursively(ctrl); 
} 

然后就是这样称呼它在你的页面的后台代码:

HidePanelsRecursively(this); 
+0

根据您对Stefanvds的评论回复,我认为这是您最好的选择。 – 2010-09-20 13:39:24

1

在代码隐藏中,您可以将所有内容放在一个父代Panel中,并将它的Visible属性设置为false;

+0

好的办法,要看是什么,他真的正在努力实现这个:) – Stefanvds 2010-09-20 13:26:37

0

你为什么需要这个?

您是否试图在默认情况下不显示面板,然后通过某些逻辑显示其中一个或多个?

在这种情况下,请在每个面板的aspx页面中添加参数visible="false"

+0

是的,这是我的情况下, – GibboK 2010-09-20 13:30:23