Control.RenderChildren(HtmlTextWriter) 方法

定義

輸出伺服器控制項之子控制項的內容至提供的 HtmlTextWriter 物件,這個物件會寫入用戶端上所要呈現的內容。Outputs the content of a server control's children to a provided HtmlTextWriter object, which writes the content to be rendered on the client.

protected public:
 virtual void RenderChildren(System::Web::UI::HtmlTextWriter ^ writer);
protected internal virtual void RenderChildren (System.Web.UI.HtmlTextWriter writer);
abstract member RenderChildren : System.Web.UI.HtmlTextWriter -> unit
override this.RenderChildren : System.Web.UI.HtmlTextWriter -> unit
Protected Friend Overridable Sub RenderChildren (writer As HtmlTextWriter)

參數

writer
HtmlTextWriter

接收所呈現內容的 HtmlTextWriter 物件。The HtmlTextWriter object that receives the rendered content.

範例

下列範例會覆寫自訂伺服器控制項中的 RenderChildren 方法。The following example overrides the RenderChildren method in a custom server control. 它會判斷目前控制項在其 ControlCollection 物件中是否有任何子控制項。It determines whether the current control has any child controls in its ControlCollection object. 如果有,則會使用 Count 屬性來逐一查看集合。If it does, it uses the Count property to iterate through the collection. 當它遇到每個子控制項時,它會使用 RenderControl 方法,將父控制項及其所有子控制項轉譯成包含的頁面。As it encounters each child control, it uses the RenderControl method to render the parent control, and all of its child controls, to the containing page.

然後,覆寫的 Render 方法會呼叫覆寫的 RenderChildren 方法。The overridden Render method then calls the overridden RenderChildren method.

// Override default implementation to Render children according to needs. 
protected override void RenderChildren(HtmlTextWriter output)
{
   if (HasControls())
   {
      // Render Children in reverse order.
      for(int i = Controls.Count - 1; i >= 0; --i)
      {
         Controls[i].RenderControl(output);
      }
   }         
}

protected override void Render(HtmlTextWriter output)
{       
   output.Write("<br>Message from Control : " + Message);       
   output.Write("Showing Custom controls created in reverse" +
                                                    "order");         
   // Render Controls.
   RenderChildren(output);
}
' Override default implementation to Render children according to needs. 
      Protected Overrides Sub RenderChildren(output As HtmlTextWriter)
         If HasControls() Then
            ' Render Children in reverse order.
            Dim i As Integer

            For i = Controls.Count - 1 To 0 Step -1
               Controls(i).RenderControl(output)
            Next

         End If
      End Sub
      
      
      Protected Overrides Sub Render(output As HtmlTextWriter)
         output.Write(("<br>Message from Control : " + Message))
         output.Write(("Showing Custom controls created in reverse" + "order"))
         ' Render Controls.
         RenderChildren(output)
      End Sub
   End Class

備註

這個方法會通知 ASP.NET 在頁面上呈現任何 Active Server Pages (ASP)程式碼。This method notifies ASP.NET to render any Active Server Pages (ASP) code on the page. 如果網頁上沒有 ASP 程式碼存在,這個方法會呈現伺服器控制項的任何子控制項。If no ASP code exists on the page, this method renders any child controls for the server control. 這個方法是由 Render 方法所呼叫。This method is called by the Render method.

適用於

另請參閱