次の方法で共有


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