我在C#中有一个非常大的ASP.NET应用程序。
这个问题既简单又困难/奇怪。无论代码在哪里,我都尝试更改按钮的可见性,但无论我将其设置为true还是false,它都会保留其默认值。
我不确定是什么导致这种情况所以我想我可能会在这里寻求意见。
答案 0 :(得分:0)
Visible
属性从父控件继承它的状态。
例如:
<asp:Panel ID="Panel1" Visible="false" runat="server">
<asp:Button ID="Button1" runat="server" Text="click me" />
</asp:Panel>
只要容器控件Button
不可见,Panel1
将永远不会显示。
Control.Visible
的实施:
public virtual bool Visible
{
get
{
return !this.flags[16]
&& (this._parent == null || this.DesignMode || this._parent.Visible);
}
set
{
// ...
}
}
所以当parent != null && !visible
时,子控件是不可见的。