2012-11-21 85 views
0

我有一個asp.net頁面,它在頁面的頂部和底部都有公共控件。 (約75%的控件)。 控件的其餘部分由page_load的條件控制。根據條件隱藏控件集合

所以,我有,說:30控件和5條件。
在Page_Load中,我必須做到以下幾點:

 if (condtion1) 
     { 
     control1.Visible=false; 
     control2.Visible=true; 
     control3.Visible=false; 
     control4.Visible=true; 
     ...etc... 
     } 
    else if (condition2) 
     { contorl1.Visible=true; 
     control2.Visible=true; 
     control3.Visible=true; 
     ...etc... 
     } 
     ...etc.... 

有沒有更好的辦法來控制多個控件控制可視性?請注意,控件可以重疊,即condition1和condition2可以具有相同的可見控件。

我的想法是創建20個控件並擁有某種面板,您可以在其中定義屬於此面板的控件,但不確定它是否存在。

回答

1

我個人比較喜歡的東西,像這樣:

control1.Visible = condition1; 
control2.Visible = condition1 || condtion2; 
control3.Visible = condition2; 

您可以到組控件或條件在一起,使你的意圖更爲明顯。

+0

Jon,謝謝你的回答。如果我還需要控制控件的順序,你是否還有什麼可以做的?它們都在一列中垂直排列。我正在考慮使用某種描述性XML,以存儲每種情況下控件的順序和可見性。但我不確定這是否可能。或者,也許我應該使用完全獨立的形式? – user194076

+0

@ user194076如果要顯示/隱藏以及重新排序,可能會更好地生成控件,而不是在設計時生成控件。 –

相關問題