次の方法で共有


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

適用対象

こちらもご覧ください