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:
 virtual void RenderChildren(System::Web::UI::HtmlTextWriter ^ writer);
protected public:
 virtual void RenderChildren(System::Web::UI::HtmlTextWriter ^ writer);
protected 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 Overridable Sub RenderChildren (writer As HtmlTextWriter)
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

注釈

このメソッドは、ページに Active Server ページ (ASP) コードを表示するように ASP.NET に通知します。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.

適用対象

こちらもご覧ください