1

无论可见性属性是真还是假,是否都会呈现自定义控件 (ascx)。

似乎当某些控件的可见性设置为 false 时,它​​们不会被渲染,但是当我将 ascx 控件设置为从包含它的 aspx 页面中隐藏时,代码仍然通过 ascx 的代码绑定运行,尽管它被标记因为不可见。

如果可见性被标记为假,有没有办法强制我的 ascx 不呈现?

这种行为正常吗?

4

2 回答 2

3

无论控件是否可见,始终执行后面的代码。

考虑一个控件默认隐藏但在页面执行期间通过代码可见的情况。如果控件的构造函数和 Load 事件因为它被隐藏而被抑制,则它不会被正确初始化。如果事件在控件可见时执行,它们将在页面循环中无序执行。

因此,页面中所有控件背后的代码必须始终运行,因为在呈现时间时控件可能是可见的。

于 2009-10-30T20:10:10.090 回答
3

如果可见性设置为 false,ascx 仍会经历页面生命周期。不会生成 HTML,因此在这方面它不会被渲染。Load 事件会运行,但预渲染可能不会。

于 2009-10-30T20:12:14.267 回答