C# 隐藏基于条件的控件集合
我有一个asp.net页面,在页面的顶部和底部都有公共控件。(约占对照组的75%)。 其余控件由页面加载条件控制 所以,我有,比如说:30个控件和5个条件。C# 隐藏基于条件的控件集合,c#,asp.net,C#,Asp.net,我有一个asp.net页面,在页面的顶部和底部都有公共控件。(约占对照组的75%)。 其余控件由页面加载条件控制 所以,我有,比如说:30个控件和5个条件。 在页面加载中,我必须执行以下操作: if (condtion1) { control1.Visible=false; control2.Visible=true; control3.Visible=false; control4.Visible=true
在页面加载中,我必须执行以下操作:
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....
是否有更好的方法控制多个控件的控件可见性?请注意,控件可以重叠,即条件1和条件2可以共用相同的可见控件
我的想法是创建20个控件,并使用某种面板,您可以在其中定义哪些控件属于此面板,但不确定它是否存在。我个人更喜欢这样:
control1.Visible = condition1;
control2.Visible = condition1 || condtion2;
control3.Visible = condition2;
您可以将控制或条件组合在一起,使您的意图更加明显。Jon,谢谢您的回答。你们知道,若我还需要控制控件的顺序,有什么漂亮的事情可以做吗?它们都在一列中垂直对齐。我想用某种描述性XML来存储每个条件下控件的顺序和可见性。但我不确定这是否可能。或者我应该使用完全独立的表单?@user194076如果您想显示/隐藏以及重新排序,最好是动态生成控件,而不是在设计时生成。