【问题标题】:Does a custom control (ascx) get rendered regardless of whether visibility property is true or false无论可见性属性是 true 还是 false,是否都会呈现自定义控件 (ascx)
【发布时间】:2010-12-11 17:47:08
【问题描述】:

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

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

如果可见性标记为 false,是否有办法强制我的 ascx 不呈现?

这种行为正常吗?

【问题讨论】:

    标签: asp.net visibility ascx


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2010-11-02
        • 2011-06-08
        • 1970-01-01
        • 2014-12-05
        • 1970-01-01
        • 2010-12-17
        • 2012-01-07
        • 2021-04-10
        • 2019-11-21
        相关资源
        最近更新 更多