不管可見性屬性是true還是false,是否呈現自定義控件(ascx)?無論可見性屬性是true還是false,自定義控件(ascx)都會呈現嗎?
看來,當一些控件的可見性設置爲false時,它們不會被渲染,但是當我將ascx控件設置爲從包含它的aspx頁面隱藏時,代碼仍然通過ascx的codebind運行,儘管它被標記爲不可見。
如果可見性標記爲false,是否有辦法強制我的ascx不呈現?
這種行爲是否正常?
不管可見性屬性是true還是false,是否呈現自定義控件(ascx)?無論可見性屬性是true還是false,自定義控件(ascx)都會呈現嗎?
看來,當一些控件的可見性設置爲false時,它們不會被渲染,但是當我將ascx控件設置爲從包含它的aspx頁面隱藏時,代碼仍然通過ascx的codebind運行,儘管它被標記爲不可見。
如果可見性標記爲false,是否有辦法強制我的ascx不呈現?
這種行爲是否正常?
無論控件是否可見,後面的代碼總是被執行。
考慮一下控件在默認情況下被隱藏的情況,但在頁面執行過程中被代碼顯示。如果控件的構造函數和Load事件因爲隱藏而被抑制,它將不會被正確初始化。如果事件在控件變爲可見的時刻執行,那麼它們將在頁面循環中亂序執行。
因此,頁面中所有控件的代碼必須始終運行,因爲控件在呈現時間時可能是可見的。
如果可見性設置爲false,則ascx仍會遍歷頁面生命週期。不會生成HTML,所以在這方面它不會被渲染。 Load事件運行,但預渲染可能不會。