C# 为什么在控件';的Visible属性设置为false?

C# 为什么在控件';的Visible属性设置为false?,c#,asp.net,C#,Asp.net,我在控件的重写方法上放置了一个断点,断点正在被命中,但在Visual Studio中,我可以看到this.Visible是false 在该物业的文件中,注明: 如果此属性为false,则不会呈现服务器控件 这并不一定意味着不调用RenderControl方法,但这是一个很大的提示,它不应该这样做。如果Visible为false,是否应该手动跳出该方法?是否在任何地方记录了此信息?根据: 在呈现之前,将保存页面和所有控件的视图状态。 在呈现阶段,页面将为每个对象调用呈现方法 控件,提供将其输出写入

我在控件的重写方法上放置了一个断点,断点正在被命中,但在Visual Studio中,我可以看到
this.Visible
false

在该物业的文件中,注明:

如果此属性为false,则不会呈现服务器控件

这并不一定意味着不调用
RenderControl
方法,但这是一个很大的提示,它不应该这样做。如果
Visible
为false,是否应该手动跳出该方法?是否在任何地方记录了此信息?

根据:

在呈现之前,将保存页面和所有控件的视图状态。 在呈现阶段,页面将为每个对象调用呈现方法 控件,提供将其输出写入 页面响应属性的OutputStream对象

如下图所示,
RenderControl
是渲染过程的一部分:

因此,它调用方法
RenderControl
而不考虑
Visible
prop值。您有责任输出空字符串或任何基于
Visible
属性的内容