Asp.net
WebControl 創建中的 Render 和 RenderControl 有什麼區別?
我最近學會了編寫自己的 WebControls,但我仍然對 Render 和 RenderControl 之間的區別感到模糊。我開始使用 Render,但在某些時候我開始使用 RenderControl,我現在只使用它。如果我正在養成一個壞習慣,我想在我確定自己的方式之前把它扼殺在萌芽狀態。
如果存在提供所需內容的現有控制項,則使用 RenderControl,以便您可以利用其呈現方式。
如果您需要完全控制 html 的呈現方式,則使用 Render。
您當然可以將兩者結合起來,以最優化地利用您的程式時間……
編輯
要對此進行更好的解釋,以及何時使用的要點,請參閱mhenry1384的答案。
這是一個很好的閱讀: Render vs RenderControl
連結摘錄:
**Render**方法使控制器能夠通過將HTML 輸出寫入響應流來呈現自己。這會傳遞對 HTMLTextWriter 對象的引用,該對象可以直接寫入響應流。當您直接從控制項派生時,應使用此方法。
頁面使用**RenderControl**方法來呈現每個單獨的控制項。它允許您的類的使用者呈現它,如果您使用複合控制項,您可以使用它來呈現子控制項。另外,需要注意的一點是,如果控制項上的可見性屬性設置為 false,則不會呼叫它。