2011-11-17 30 views
3

我已經在我的Control的覆蓋的RenderControl方法上放置了一個斷點,並且斷點正在被擊中,但在Visual Studio中,我可以看到this.Visiblefalse爲什麼當Control的Visible屬性設置爲false時調用RenderControl?

在爲Visible屬性,它說的文檔:

如果此屬性爲false,服務器控件不呈現。

這並不一定表示RenderControl方法沒有被調用,但它是一個很大的暗示,它不應該這樣做。如果Visible錯誤,我應該手動跳出該方法嗎?這是記錄在任何地方?

回答

4

Accorging到msdn

之前渲染視圖狀態保存的頁面和所有控件。 在渲染階段,頁面調用渲染方法爲每個 控制,提供一個文本編寫器,它的輸出寫入該頁面的Response屬性的OutputStream對象的 。

而且你可以從下面的diagramm看到,RenderControl是呈現進程的一部分: enter image description here

所以調用該方法RenderControl無論Visible道具價值。您有責任根據Visible屬性輸出空字符串或任何內容。

相關問題