0

C# で非常に大きな ASP.NET アプリケーションを使用しています。

問題は単純だが難しい/奇妙だ. コードのどこでボタンの可視性を変更しようとしても、それを true に設定しても false に設定しても、デフォルト値が保持されます。

何が原因なのかわからないので、ここで意見を求めてみようと思いました。

4

1 に答える 1

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ため、子コントロールは非表示になります。

于 2012-06-22T13:05:32.987 に答える