C# 为什么我的usercontrol不断重置它';可见属性是否为false?
好的,我的页面上有一个usercontrol 在页面上,visible属性设置为false 在OnPreRender事件中,我将visible属性设置为true 它运行代码行,但实际上不会更改任何内容。(在false处可见) 这种完全相同的方法适用于所有其他控件,并且该控件没有任何特殊之处C# 为什么我的usercontrol不断重置它';可见属性是否为false?,c#,asp.net,C#,Asp.net,好的,我的页面上有一个usercontrol 在页面上,visible属性设置为false 在OnPreRender事件中,我将visible属性设置为true 它运行代码行,但实际上不会更改任何内容。(在false处可见) 这种完全相同的方法适用于所有其他控件,并且该控件没有任何特殊之处 任何想法???检查包含此控件的任何控件上的visible属性 设置Visible=True并不意味着Visible==True,如果父控件为False,它仍将返回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;
}
}
}
发布代码。你说的话表面上看起来不可能,所以我们需要看看代码。我真是个白痴。我确实知道,但忘了检查。非常感谢,这已经解决了。(如建议的,父控件是隐藏它的位)