2010-09-20 56 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