Control.RenderControl メソッド
提供された HtmlTextWriter オブジェクトにサーバー コントロールの内容を出力し、トレースが有効である場合はコントロールに関するトレース情報を格納します。
Public Sub RenderControl( _
ByVal writer As HtmlTextWriter _)
[C#]
public void RenderControl(HtmlTextWriterwriter);
[C++]
public: void RenderControl(HtmlTextWriter* writer);
[JScript]
public function RenderControl(
writer : HtmlTextWriter);
パラメータ
- writer
コントロールの内容を受け取る HtmlTextWriter オブジェクト。
解説
サーバー コントロールの Visible プロパティが true に設定されている場合、このメソッドはページのトレースが有効かどうかを判断します。有効である場合は、コントロールに関連付けられているトレース情報を格納し、ページにサーバー コントロールの内容を表示します。
使用例
[Visual Basic, C#, C++] カスタム サーバー コントロールの RenderChildren メソッドをオーバーライドする例を次に示します。これは、現在のコントロールの ControlCollection オブジェクトに子コントロールがあるかどうかを判断します。子コントロールがある場合は、 Count プロパティを使用してそのコレクションを反復処理します。そして、子コントロールを認識するたびに、 RenderControl メソッドを使用して、配置先ページに親コントロールとそのすべての子コントロールを表示します。
' 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 名前空間 | HtmlTextWriter