我在aspx頁面的面板上有一個TextBox。如何確定頁面上是否啓用了控件?
如果textBox未啓用,我需要禁用RequiredFieldValidator。
如果面板被禁用,TextBox.Enabled爲True,那麼將文本框的頁面上被禁用(這是很好的。)
所以,我怎麼能找到,如果文本框的頁面,如果上禁用已啓用的屬性不可靠?
請注意,我需要一個通用的解決方案,因爲可能有許多嵌套級別的容器,並且容器並不總是面板。
我在aspx頁面的面板上有一個TextBox。如何確定頁面上是否啓用了控件?
如果textBox未啓用,我需要禁用RequiredFieldValidator。
如果面板被禁用,TextBox.Enabled爲True,那麼將文本框的頁面上被禁用(這是很好的。)
所以,我怎麼能找到,如果文本框的頁面,如果上禁用已啓用的屬性不可靠?
請注意,我需要一個通用的解決方案,因爲可能有許多嵌套級別的容器,並且容器並不總是面板。
您可以跨控件層次結構進行遞歸搜索,如果啓用了控件並且所有祖先都啓用了,則您的控件爲「已啓用」。
bool IsControlEnabled (WebControl control)
{
if (!(control.Parent is WebControl))
return control.Enabled;
return control.Enabled &&
IsControlEnabled(control.Parent as WebControl);
}
如何禁用容器控件?是否有理由在禁用容器時禁止Textbox
和RequiredFieldValidator
控件?