会发生什么,当您设置父控件的Enabled属性?
-
20-08-2019 - |
题
我的每一个都具有2个控制在它们的自定义控件的容器。一个用来显示使能(即,文本框,复选框或)时,和禁用时显示一个标签。
我重载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
属性实际上会发生什么?我的假设是,它传播的是状态下降到其所有的孩子,但现在看来,我错了。
谢谢!
解决方案
简短的回答是,你的假设其实是错误的。
如果你喜欢(并延伸的WebControl,你的容器具有中用runat =服务器),可以使用
If NamingContainer.Enabled Then
代替
的If Me.Enabled Then
但在ASP特性不会自动向下传播的树
不隶属于 StackOverflow