2012-11-21 128 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如果要显示/隐藏以及重新排序,可能会更好地生成控件,而不是在设计时生成控件。 –

相关问题