次の方法で共有


Control.RenderChildren メソッド

クライアントに表示される内容の書き込みを行う、指定された HtmlTextWriter オブジェクトに、サーバー コントロールの子を出力します。

Protected Overridable Sub RenderChildren( _
   ByVal writer As HtmlTextWriter _)
[C#]
protected virtual void RenderChildren(HtmlTextWriterwriter);
[C++]
protected: virtual void RenderChildren(HtmlTextWriter* writer);
[JScript]
protected function RenderChildren(
   writer : HtmlTextWriter);

パラメータ

  • writer
    表示された内容を受け取る HtmlTextWriter オブジェクト。

解説

このメソッドは、ページに ASP (Active Server Pages) コードを表示するよう ASP.NET に通知します。ページに ASP コードが存在しない場合、このメソッドはサーバー コントロールの子コントロールを表示します。

使用例

[Visual Basic, C#, C++] カスタム サーバー コントロールの RenderChildren メソッドをオーバーライドする例を次に示します。これは、現在のコントロールの ControlCollection オブジェクトに子コントロールがあるかどうかを判断します。子コントロールがある場合は、 Count プロパティを使用してそのコレクションを反復処理します。そして、子コントロールを認識するたびに、 RenderControl メソッドを使用して、配置先ページに親コントロールとそのすべての子コントロールを表示します。

[Visual Basic, C#, C++] オーバーライドされた Render メソッドが、オーバーライドされた RenderChildren メソッドを呼び出します。

 
' 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 'RenderChildren
      
      
      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


[C#] 
// 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);
}
   }

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

void Render(HtmlTextWriter* output)
{       
   output->Write(S"<br>Message from Control : {0}", Message);          
   output->Write(S"Showing Custom controls created in reverse order");         
   // Render Controls.
   RenderChildren(output);
}
};

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ

参照

Control クラス | Control メンバ | System.Web.UI 名前空間 | Render | RenderControl