好的,我的页面上有一个用户控件。
在页面上,visible属性设置为false。
在OnPreRender事件中,我将visible属性设置为true。
它运行代码行,但实际上并没有改变任何东西。 (所以可见仍然是假的)
这个完全相同的方法适用于所有其他控件,并且此控件没有什么特别之处。
任何想法??
答案 0 :(得分:10)
检查包含此控件的任何控件的可见属性。
设置Visible = True并不意味着Visible == True,如果父控件为False,它仍将返回False。
除此之外,您可能需要发布一些代码示例,以便任何人帮助找出问题所在。
答案 1 :(得分:1)
我遇到了同样的问题......是的,问题是父母不可见。所以我为解决这个问题做了一些代码安静:
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;
}
}
}