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