如何隐藏页面中的所有面板

时间:2010-09-20 13:21:58

标签: c# asp.net web-controls

我正在使用asp.net 4。

我需要为所有Panels WebControl设置页面的可见性,如

uxTypesDisplayer.Visible = false;

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

你知道男人怎么做吗?感谢

3 个答案:

答案 0 :(得分:6)

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

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

然后在你的Page的代码隐藏中调用它:

HidePanelsRecursively(this);

答案 1 :(得分:1)

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

答案 2 :(得分:0)

你为什么需要这个?

您是否尝试默认情况下不显示任何面板,然后通过某些逻辑显示1个或更多?

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