Language

Control.RenderChildren(HtmlTextWriter) メソッド

定義

指定した HtmlTextWriter オブジェクトにサーバー コントロールの子のコンテンツを出力します。このオブジェクトは、クライアントにレンダリングされるコンテンツを書き込みます。

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 オブジェクト。

例

次の例では、カスタム サーバー コントロールの RenderChildren メソッドをオーバーライドします。 現在のコントロールの ControlCollection オブジェクトに子コントロールがあるかどうかを判断します。 その場合は、 Count プロパティを使用してコレクションを反復処理します。 各子コントロールが検出されると、 RenderControl メソッドを使用して、親コントロールとそのすべての子コントロールを含むページにレンダリングします。

オーバーライドされた Render メソッドは、オーバーライドされた RenderChildren メソッドを呼び出します。

// 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 Pages (ASP) コードをレンダリングするように ASP.NET に通知します。 ページに ASP コードが存在しない場合、このメソッドはサーバー コントロールの子コントロールをレンダリングします。 このメソッドは、 Render メソッドによって呼び出されます。

適用対象

こちらもご覧ください