次の方法で共有


HtmlTable.RenderChildren(HtmlTextWriter) メソッド

定義

指定した HtmlTable オブジェクトに、HtmlTextWriter コントロールの子コントロールを表示します。

protected:
 override void RenderChildren(System::Web::UI::HtmlTextWriter ^ writer);
protected public:
 override void RenderChildren(System::Web::UI::HtmlTextWriter ^ writer);
protected override void RenderChildren (System.Web.UI.HtmlTextWriter writer);
protected internal override void RenderChildren (System.Web.UI.HtmlTextWriter writer);
override this.RenderChildren : System.Web.UI.HtmlTextWriter -> unit
Protected Overrides Sub RenderChildren (writer As HtmlTextWriter)
Protected Friend Overrides Sub RenderChildren (writer As HtmlTextWriter)

パラメーター

writer
HtmlTextWriter

表示されたコンテンツを受け取る HtmlTextWriter

次のコード例は、カスタム サーバー コントロール内のメソッドを RenderChildren オーバーライドして、新しいテーブル行がコントロールに追加されるようにする方法を HtmlTable 示しています。

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Custom HtmlTable - RenderChildren Example</title>
    </head>
    <body>
        <form id="Form1" 
          method="post" 
          runat="server">
            <h3>Custom HtmlTable - RenderChildren Example</h3>
      
      <aspSample:CustomHtmlTableRenderChildren 
        id="HtmlTable1" 
        name="HtmlTable1" 
        runat="server" 
        border="1"
        cellSpacing="0" 
        cellPadding="5">
        <tr>
          <td>1,1</td>
          <td>1,2</td>
          <td>1,3</td>
        </tr>
        <tr>
          <td>2,1</td>
          <td>2,2</td>
          <td>2,3</td>
        </tr>
        <tr>
          <td>3,1</td>
          <td>3,2</td>
          <td>3,3</td>
        </tr>
      </aspSample:CustomHtmlTableRenderChildren>

        </form>
    </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Custom HtmlTable - RenderChildren Example</title>
    </head>
    <body>
        <form id="Form1" 
          method="post" 
          runat="server">
            <h3>Custom HtmlTable - RenderChildren Example</h3>
      
      <aspSample:CustomHtmlTableRenderChildren 
        id="HtmlTable1" 
        name="HtmlTable1" 
        runat="server" 
        border="1"
        cellSpacing="0" 
        cellPadding="5">
        <tr>
          <td>1,1</td>
          <td>1,2</td>
          <td>1,3</td>
        </tr>
        <tr>
          <td>2,1</td>
          <td>2,2</td>
          <td>2,3</td>
        </tr>
        <tr>
          <td>3,1</td>
          <td>3,2</td>
          <td>3,3</td>
        </tr>
      </aspSample:CustomHtmlTableRenderChildren>

        </form>
    </body>
</html>
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public sealed class CustomHtmlTableRenderChildren : System.Web.UI.HtmlControls.HtmlTable
    {
        protected override void RenderChildren(System.Web.UI.HtmlTextWriter writer)
        {
            // Call the base class's RenderChildren method.
            base.RenderChildren(writer);
            
            // Write out a new table row.
            writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr);
            writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            writer.Write("4,1");
            writer.RenderEndTag();
            writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            writer.Write("4,2");
            writer.RenderEndTag();
            writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            writer.Write("4,3");
            writer.RenderEndTag();
            writer.RenderEndTag();
        }
    }
}
Imports System.Web
Imports System.Security.Permissions

Namespace Samples.AspNet.VB.Controls
    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public NotInheritable Class CustomHtmlTableRenderChildren
        Inherits System.Web.UI.HtmlControls.HtmlTable

        Protected Overrides Sub RenderChildren(ByVal writer As System.Web.UI.HtmlTextWriter)

            ' Call the base class's RenderChildren method.
            MyBase.RenderChildren(writer)

            ' Write out a new table row.
            writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr)
            writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td)
            writer.Write("4,1")
            writer.RenderEndTag()
            writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td)
            writer.Write("4,2")
            writer.RenderEndTag()
            writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td)
            writer.Write("4,3")
            writer.RenderEndTag()
            writer.RenderEndTag()
        End Sub
    End Class
End Namespace

注釈

このメソッドは RenderChildren 、基底クラスのメソッドを呼び出す前と後に、追加の Control.RenderChildren 書式を提供します。 追加の書式設定により、コントロールの子コントロールをレンダリングする HtmlTable 前に行の戻り値とインデントを挿入することで、コントロールのレンダリング HtmlTable された HTML を読みやすくなります。

このメソッドは RenderChildren 、主にコントロールの機能 HtmlTable を拡張するコントロール開発者によって使用されます。

適用対象

こちらもご覧ください