Asp.net

WebControl 創建中的 Render 和 RenderControl 有什麼區別?

  • October 31, 2009

我最近學會了編寫自己的 WebControls,但我仍然對 Render 和 RenderControl 之間的區別感到模糊。我開始使用 Render,但在某些時候我開始使用 RenderControl,我現在只使用它。如果我正在養成一個壞習慣,我想在我確定自己的方式之前把它扼殺在萌芽狀態。

如果存在提供所需內容的現有控制項,則使用 RenderControl,以便您可以利用其呈現方式。

如果您需要完全控制 html 的呈現方式,則使用 Render。

您當然可以將兩者結合起來,以最優化地利用您的程式時間……

編輯

要對此進行更好的解釋,以及何時使用的要點,請參閱mhenry1384的答案

這是一個很好的閱讀: Render vs RenderControl

連結摘錄:

**Render**方法使控制器能夠通過將HTML 輸出寫入響應流來呈現自己。這會傳遞對 HTMLTextWriter 對象的引用,該對象可以直接寫入響應流。當您直接從控制項派生時,應使用此方法。

頁面使用**RenderControl**方法來呈現每個單獨的控制項。它允許您的類的使用者呈現它,如果您使用複合控制項,您可以使用它來呈現子控制項。另外,需要注意的一點是,如果控制項上的可見性屬性設置為 false,則不會呼叫它。

引用自:https://stackoverflow.com/questions/1653045