我在C#中有一個非常大的ASP.NET應用程序。奇怪的問題,其中按鈕的可見性保持默認值
這個問題很簡單但很難/很奇怪。無論我在代碼中的哪個位置嘗試更改按鈕的可見性,它都會保留其默認值,無論我將其設置爲true還是false。
我不確定可能是什麼原因造成的,所以我想我可能會在這裏尋求意見。
我在C#中有一個非常大的ASP.NET應用程序。奇怪的問題,其中按鈕的可見性保持默認值
這個問題很簡單但很難/很奇怪。無論我在代碼中的哪個位置嘗試更改按鈕的可見性,它都會保留其默認值,無論我將其設置爲true還是false。
我不確定可能是什麼原因造成的,所以我想我可能會在這裏尋求意見。
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
,子控件是看不見的。
您將不得不在此處張貼一些代碼和標記.. –
可能是您正在使用UpdatePanels或您正在將該按鈕的可見性設置爲每次回發到其默認值,您應該跟蹤page_load中的每一行。 – yogi
我真的不能發佈代碼,否則我會..這是一個非常大的程序,並且按鈕使用的是各種地方,所以我正在尋找更多的通用方法來取消此 – Bulvak