我在Control的重写RenderControl方法上设置了一个断点,并且断点正在被点击,但在Visual Studio中,我可以看到this.Visible
是false
。
在Visible属性的文档中,它说:
如果此属性为false,则不呈现服务器控件。
这并不一定意味着没有调用RenderControl
方法,但它是一个不应该做的大提示。如果Visible
为假,我是否应该手动跳出该方法?这是在任何地方记录的吗?
答案 0 :(得分:4)
评估msdn:
在渲染之前,会为页面和所有控件保存视图状态。 在渲染阶段,页面为每个页面调用 Render方法 控件,提供一个将其输出写入的文本编写器 页面的Response属性的OutputStream对象。
从下面的图表中可以看出,RenderControl
是渲染过程的一部分:
因此,无论RenderControl
道具价值如何,它都会调用方法Visible
。您有责任根据Visible
属性输出空字符串或任何内容。