2009-01-27 107 views
0

我有一個自定義控件的容器,每個控件都有兩個控件。一個在啓用時顯示(即文本框或複選框)以及禁用時顯示的標籤。設置父級控件的啓用屬性時會發生什麼情況?

我重載Render像這樣:

Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter) 
     If Me.Enabled Then 
      _item.RenderControl(writer) 
     Else 
      _display_text.RenderControl(writer) 
     End If 
    End Sub 

然而,當我的容器,這是一個表格,設置爲Enabled = False,我預期的功能不會發生。相反,我會變灰的文本框和複選框。

當您設置父母的Enabled屬性時會發生什麼?我的假設是,它將這種狀態傳播給所有的孩子,但看起來我錯了。

謝謝!

回答

0

簡短的回答是,你的假設其實是錯誤的。

如果你喜歡(和正在擴大的WebControl,和你的容器具有中用runat =服務器),你可以使用

If NamingContainer.Enabled Then 

,而不是

If Me.Enabled Then 

但屬性不自動傳播下來asp中的樹。

+0

你有很長的答案嗎? ;)具體來說:那麼,什麼是告訴我的文本框,等等。被禁用? – 2009-01-27 21:05:32

相關問題