Control.RenderControl メソッド

定義

サーバー コントロールの内容を出力し、トレースが有効である場合はコントロールに関するトレース情報を格納します。Outputs server control content and stores tracing information about the control if tracing is enabled.

オーバーロード

RenderControl(HtmlTextWriter)

指定の HtmlTextWriter オブジェクトにサーバー コントロールの内容を出力し、トレースが有効である場合はコントロールに関するトレース情報を保存します。Outputs server control content to a provided HtmlTextWriter object and stores tracing information about the control if tracing is enabled.

RenderControl(HtmlTextWriter, ControlAdapter)

指定した ControlAdapter オブジェクトを使用して、指定した HtmlTextWriter オブジェクトにサーバー コントロールの内容を出力します。Outputs server control content to a provided HtmlTextWriter object using a provided ControlAdapter object.

RenderControl(HtmlTextWriter)

指定の HtmlTextWriter オブジェクトにサーバー コントロールの内容を出力し、トレースが有効である場合はコントロールに関するトレース情報を保存します。Outputs server control content to a provided HtmlTextWriter object and stores tracing information about the control if tracing is enabled.

public:
 virtual void RenderControl(System::Web::UI::HtmlTextWriter ^ writer);
public virtual void RenderControl (System.Web.UI.HtmlTextWriter writer);
abstract member RenderControl : System.Web.UI.HtmlTextWriter -> unit
override this.RenderControl : System.Web.UI.HtmlTextWriter -> unit
Public Overridable Sub RenderControl (writer As HtmlTextWriter)

パラメーター

writer
HtmlTextWriter

コントロールの内容を受け取る HtmlTextWriter オブジェクト。The HtmlTextWriter object that receives the control content.

次の例では、カスタムサーバーコントロールの RenderChildren メソッドをオーバーライドします。The following example overrides the RenderChildren method in a custom server control. 現在のコントロールに ControlCollection オブジェクト内の子コントロールがあるかどうかを判断します。It determines whether the current control has any child controls in its ControlCollection object. 存在する場合は、Count プロパティを使用してコレクションを反復処理します。If it does, it uses the Count property to iterate through the collection. 各子コントロールが検出されると、RenderControl メソッドを使用して、子コントロールとそのすべての子コントロールが、含んでいるページに表示されます。As it encounters each child control, it uses the RenderControl method to render the child control, and all of its child controls, to the containing page. このメソッドに渡される XhtmlTextWriter オブジェクトは、Render メソッドによってインスタンス化されます。The XhtmlTextWriter object that is passed to this method is instantiated by the Render method.

// 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

注釈

サーバーコントロールの Visible プロパティが trueに設定されている場合、このメソッドは、ページに対してトレースを有効にするかどうかを決定します。If a server control's Visible property is set to true, this method determines whether tracing is enabled for the page. その場合は、コントロールに関連付けられているトレース情報が格納され、ページにサーバーコントロールの内容が表示されます。If so, it stores trace information associated with the control, and renders the server control content to the page.

このメソッドは、レンダリング中にページによって自動的に呼び出されますが、カスタムコントロールの開発者がオーバーライドできます。This method is automatically called by the page during the rendering, but can be overridden by custom control developers.

こちらもご覧ください

RenderControl(HtmlTextWriter, ControlAdapter)

指定した ControlAdapter オブジェクトを使用して、指定した HtmlTextWriter オブジェクトにサーバー コントロールの内容を出力します。Outputs server control content to a provided HtmlTextWriter object using a provided ControlAdapter object.

protected:
 void RenderControl(System::Web::UI::HtmlTextWriter ^ writer, System::Web::UI::Adapters::ControlAdapter ^ adapter);
protected void RenderControl (System.Web.UI.HtmlTextWriter writer, System.Web.UI.Adapters.ControlAdapter adapter);
member this.RenderControl : System.Web.UI.HtmlTextWriter * System.Web.UI.Adapters.ControlAdapter -> unit
Protected Sub RenderControl (writer As HtmlTextWriter, adapter As ControlAdapter)

パラメーター

writer
HtmlTextWriter

コントロールの内容を受け取る HtmlTextWriterThe HtmlTextWriter that receives the control content.

adapter
ControlAdapter

表示を定義する ControlAdapterThe ControlAdapter that defines the rendering.

注釈

ASP.NET Web ページは、Web から情報を要求できる幅広いデバイスとブラウザーで使用できます。ASP.NET Web pages are usable across a wide range of devices and browsers that can request information from the Web. Adapter プロパティは、要求元のデバイスまたはブラウザーの画面でコントロールをレンダリングする ControlAdapter オブジェクトを返します。The Adapter property returns the ControlAdapter object that renders the control on the requesting device or browser's screen.

アダプターの詳細については、「アダプティブコントロールの動作のアーキテクチャの概要」を参照してください。For more information about adapters, see Architectural Overview of Adaptive Control Behavior.

サーバーコントロールの Visible プロパティが true に設定されており、そのページでトレースが有効になっている場合、コントロールに関連付けられているトレース情報がキャプチャされます。If a server control's Visible property is set to true and tracing is enabled for the page, then trace information associated with the control is captured.

注意 (継承者)

カスタムコントロールの RenderControl(HtmlTextWriter, ControlAdapter) メソッドをオーバーライドする場合は、基本クラスのメソッドを呼び出して、トレース情報が正しくキャプチャされるようにします。When overriding the RenderControl(HtmlTextWriter, ControlAdapter) method in custom controls, call the base class method to ensure trace information is correctly captured.

こちらもご覧ください

適用対象