C# 为什么我的usercontrol不断重置它';可见属性是否为false?

C# 为什么我的usercontrol不断重置它';可见属性是否为false?,c#,asp.net,C#,Asp.net,好的,我的页面上有一个usercontrol 在页面上,visible属性设置为false 在OnPreRender事件中,我将visible属性设置为true 它运行代码行,但实际上不会更改任何内容。(在false处可见) 这种完全相同的方法适用于所有其他控件,并且该控件没有任何特殊之处 任何想法???检查包含此控件的任何控件上的visible属性 设置Visible=True并不意味着Visible==True,如果父控件为False,它仍将返回False 不过,除此之外,您可能还需要发布一

好的,我的页面上有一个usercontrol

在页面上,visible属性设置为false

在OnPreRender事件中,我将visible属性设置为true

它运行代码行,但实际上不会更改任何内容。(在false处可见)

这种完全相同的方法适用于所有其他控件,并且该控件没有任何特殊之处


任何想法???

检查包含此控件的任何控件上的visible属性

设置Visible=True并不意味着Visible==True,如果父控件为False,它仍将返回False


不过,除此之外,您可能还需要发布一些代码示例,以便任何人都能帮助找出问题所在。

我也遇到了同样的问题,而且。。。是的,问题是父母不可见。因此,我对代码做了一些调整来解决这个问题:

  public static void ForceVisibleState(Control control, bool visible)
  {
     if (!visible)
     {
        control.Visible = false;
     }
     else
     {
        // Must set all parents to 'visible = true'
        List<Control> parents = new List<Control>();
        while (control != null &&
               !control.Visible)
        {
           parents.Insert(0, control);
           control = control.Parent;
        }
        foreach(Control parent in parents)
        {
           parent.Visible = true;
        } 
     }
  }
publicstaticvoidforcevisiblestate(控件控件,bool可见)
{
如果(!可见)
{
control.Visible=false;
}
其他的
{
//必须将所有父项设置为“可见=真”
列表父项=新列表();
while(control!=null&&
!控件。可见)
{
插入(0,对照);
control=control.Parent;
}
foreach(父对象中的控制父对象)
{
parent.Visible=true;
} 
}
}

发布代码。你说的话表面上看起来不可能,所以我们需要看看代码。我真是个白痴。我确实知道,但忘了检查。非常感谢,这已经解决了。(如建议的,父控件是隐藏它的位)