Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 隐藏基于条件的控件集合_C#_Asp.net - Fatal编程技术网

C# 隐藏基于条件的控件集合

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

我有一个asp.net页面,在页面的顶部和底部都有公共控件。(约占对照组的75%)。 其余控件由页面加载条件控制

所以,我有,比如说:30个控件和5个条件。
在页面加载中,我必须执行以下操作:

     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如果您想显示/隐藏以及重新排序,最好是动态生成控件,而不是在设计时生成。