ControlBuilderとは? わかりやすく解説

ControlBuilder クラス

コントロールとその子コントロールを作成するときにページ パーサーをサポートします。

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Class ControlBuilder
Dim instance As ControlBuilder
public class ControlBuilder
public ref class ControlBuilder
public class ControlBuilder
public class ControlBuilder
解説解説
使用例使用例

テーブルの作成時に属性と内容が定義される Table コントロールを作成するコード例を次に示します。実行可能ファイルを作成するために使用するコマンド ラインを次に示します。

[Visual Basic]

vbc /r:System.dll /r:System.Web.dll /r:System.Drawing.dll /t:library /out:myWebAppPath/Bin/vb_mycontrolbuilder.dll
 myControlBuilder.vb

[C#]

csc /t:library /out:myWebAppPath/Bin/cs_mycontrolbuilder.dll myControlBuilder.cs
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Collections
Imports System.Drawing
Imports System.Security.Permissions


Namespace CustomControls

    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)>
 _
    Public Class MyTableCell
        Inherits TableCell
        Implements INamingContainer
    End Class


    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)>
 _
    Public Class MyCell
        Inherits Control
        Implements INamingContainer
        ' Class Name: MyCell.
        ' Declares the class for the child controls to be included in
 the control collection.

        Private _id As String
        Private _value As String
        Private _backColor As Color

        Public Property CellID() As
 String
            Get
                Return _id
            End Get
            Set(ByVal value As
 String)
                _id = value
            End Set
        End Property

        Public Property Text() As
 String
            Get
                Return _value
            End Get
            Set(ByVal value As
 String)
                _value = value
            End Set
        End Property


        Public Property BackColor() As
 Color
            Get
                Return _backColor
            End Get
            Set(ByVal value As
 Color)
                _backColor = value
            End Set
        End Property
    End Class

    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)>
 _
    Public Class MyControlBuilderVB
        Inherits ControlBuilder

        Public Overrides Function
 GetChildControlType(ByVal tagName As String,
 ByVal attribs As IDictionary) As Type

            ' Allows TableRow without "runat=server" attribute
 to be added to the collection.
            If (String.Compare(tagName, "mycell",
 True) = 0) Then
                Return GetType(MyCell)
            End If
            Return Nothing
        End Function

        ' Ignores literals between rows.
        Public Overrides Sub
 AppendLiteralString(ByVal s As String)
            ' Ignores literals between rows.
        End Sub

    End Class

    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal),
 ControlBuilderAttribute(GetType(MyControlBuilderVB))> _
        Public Class MyVB_CustomControl
        Inherits Control
        Implements INamingContainer

        ' Class name: MyVB_CustomControl.
        ' Processes the element declarations within a control 
        ' declaration. This builds the actual control.

        ' Custom control to build programmatically.
        Private _table As Table

        Private _cellObjects As New
 Hashtable()

        ' Variables that must contain the control attributes as defined
 in the Web page.
        Private _rows As Integer
        Private _columns As Integer
        Private _title As String

        ' Rows property to be used as the attribute name in the Web
 page.     
        Public Property Rows() As
 Integer
            Get
                Return _rows
            End Get
            Set(ByVal value As
 Integer)
                _rows = value
            End Set
        End Property

        ' Columns property to be used as the attribute name in the Web
 page.

        Public Property Columns() As
 Integer
            Get
                Return _columns
            End Get
            Set(ByVal value As
 Integer)
                _columns = value
            End Set
        End Property

        ' Title property to be used as the attribute name in the Web
 page   
        Public Property Title() As
 String
            Get
                Return _title
            End Get
            Set(ByVal value As
 String)
                _title = value
            End Set
        End Property


        Protected Sub createNewRow(ByVal
 rowNumber As Integer)

            ' Creates a row and adds it to the table.
            Dim row As TableRow

            row = New TableRow()
            _table.Rows.Add(row)

            ' Creates a cell that contains text.
            Dim y As Integer
            For y = 0 To Columns - 1
                appendCell(row, rowNumber, y)
            Next y
        End Sub 'createNewRow


        Protected Sub appendCell(ByVal
 row As TableRow, ByVal rowNumber As
 Integer, ByVal cellNumber As Integer)
            Dim cell As TableCell
            Dim textbox As TextBox

            cell = New TableCell()

            textbox = New TextBox()

            cell.Controls.Add(textbox)

            textbox.ID = "r" + rowNumber.ToString()
 + "c" + cellNumber.ToString()

            ' Checks for the MyCell child object.
            If Not (_cellObjects(textbox.ID)
 Is Nothing) Then
                Dim cellLookup As MyCell
                cellLookup = CType(_cellObjects(textbox.ID), MyCell)

                textbox.Text = cellLookup.Text
                textbox.BackColor = cellLookup.BackColor

            Else
                textbox.Text = "Row: " + rowNumber.ToString()
 + " Cell: " + cellNumber.ToString()
            End If

            row.Cells.Add(cell)
        End Sub 'appendCell

        ' Called at runtime when a child object is added to the collection.
        Protected Overrides Sub
 AddParsedSubObject(ByVal obj As Object)

            Dim cell As MyCell = CType(obj,
 MyCell)
            If Not (cell Is
 Nothing) Then
                _cellObjects.Add(cell.CellID, cell)
            End If
        End Sub 'AddParsedSubObject


        Protected Overrides Sub
 OnPreRender(ByVal e As EventArgs)
            ' Sub name: OnPreRender.
            ' Carries out changes affecting the control state and renders
 the resulting UI.

            ' Increases the number of rows if needed.
            While _table.Rows.Count < Rows
                createNewRow(_table.Rows.Count)
            End While

            ' Checks that each row has the correct number of columns.
            Dim i As Integer
            For i = 0 To _table.Rows.Count
 - 1
                While _table.Rows(i).Cells.Count < Columns
                    appendCell(_table.Rows(i), i, _table.Rows(i).Cells.Count)
                End While

                While _table.Rows(i).Cells.Count > Columns
                    _table.Rows(i).Cells.RemoveAt((_table.Rows(i).Cells.Count - 1))
                End While
            Next i
        End Sub 'OnPreRender


        <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand,
 Name:="FullTrust")> _
        Protected Overrides Sub
 CreateChildControls()
            ' Sub name: CreateChildControls.
            ' Adds the Table and the text controls to the control collection.
 


            Dim [text] As LiteralControl

            ' Initializes the text control using the Title property.
            [text] = New LiteralControl("<h5>"
 + Title + "</h5>")
            Controls.Add([text])


            _table = New Table()

            Controls.Add(_table)
        End Sub
    End Class

End Namespace

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using System.Drawing;
using System.Security.Permissions;

namespace CustomControls
{
    [AspNetHostingPermission(SecurityAction.Demand,
        Level = AspNetHostingPermissionLevel.Minimal)]
    public class MyTableCell : TableCell, INamingContainer
 { };

    [AspNetHostingPermission(SecurityAction.Demand,
        Level = AspNetHostingPermissionLevel.Minimal)]
    public class MyCell
    /*
     * Class name: MyCell.
     * Declares the class for the child controls
 to include in the control collection.
     */
    {
        string _id;
        string _value;
        Color _backColor;

        public string CellID
        {
            get
            { return _id; }
            set
            { _id = value; }
        }

        public string Text
        {
            get
            { return _value; }
            set
            { _value = value; }
        }

        public Color BackColor
        {
            get
            { return _backColor; }
            set
            { _backColor = value; }
        }
    };

    [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
    public class MyControlBuilder : ControlBuilder
    {

        public override Type GetChildControlType(string
 tagName, IDictionary attribs)
        {
            // Allows TableRow without "runat=server" attribute
 to be added to the collection.
            if (String.Compare(tagName, "mycell", true)
 == 0)
                return typeof(MyCell);
            return null;
        }

        public override void AppendLiteralString(string
 s)
        {
            // Ignores literals between rows.
        }

    }
    [AspNetHostingPermission(SecurityAction.Demand,
        Level = AspNetHostingPermissionLevel.Minimal)]
    [ControlBuilderAttribute(typeof(MyControlBuilder))]
    public class MyCS_CustomControl : Control,
 INamingContainer
    /*
     * Class name: MyCS_CustomControl.
     * Processes the element declarations within a control declaration. 
     * This builds the actual control.
     */
    {
        // Declares the custom control that must be built programmatically.
        Table _table;

        private String _title;
        private int _rows;
        private int _columns;

        Hashtable _cellObjects = new Hashtable();

        // Rows property to be used as the attribute name in the Web
 page.  
        public int Rows
        {
            get
            { return _rows; }
            set
            { _rows = value; }
        }

        // Columns property to be used as the attribute name in the
 Web page.
        public int Columns
        {
            get
            { return _columns; }
            set
            { _columns = value; }
        }

        // Title property to be used as the attribute name in the Web
 page.
        public string Title
        {
            get
            { return _title; }
            set
            { _title = value; }
        }

        protected void createNewRow(int
 rowNumber)
        {

            // Creates a row and adds it to the table.
            TableRow row;

            row = new TableRow();
            _table.Rows.Add(row);

            // Creates a cell that contains text.

            for (int y = 0; y < Columns;
 y++)
                appendCell(row, rowNumber, y);

        }

        protected void appendCell(TableRow
 row, int rowNumber, int cellNumber)
        {
            TableCell cell;
            TextBox textbox;

            cell = new TableCell();
            textbox = new TextBox();
            cell.Controls.Add(textbox);
            textbox.ID = "r" + rowNumber.ToString() + "c" + cellNumber.ToString();

            // Checks for the MyCell child object.
            if (_cellObjects[textbox.ID] != null)
            {
                MyCell cellLookup;
                cellLookup = (MyCell)_cellObjects[textbox.ID];

                textbox.Text = cellLookup.Text;
                textbox.BackColor = cellLookup.BackColor;
            }
            else
                textbox.Text = "Row: " + rowNumber.ToString() + "
 Cell: " +
                cellNumber.ToString();

            row.Cells.Add(cell);

        }

        // Called at runtime when a child object is added to the collection.
  
        protected override void AddParsedSubObject(object
 obj)
        {
            MyCell cell = obj as MyCell;
            if (cell != null)
            {
                _cellObjects.Add(cell.CellID, cell);
            }

        }

        protected override void OnPreRender(EventArgs
 e)
        /*
         * Function name: OnPreRender.
         * Carries out changes affecting the control state and renders the resulting
 UI.
        */
        {

            // Increases the number of rows if needed.
            while (_table.Rows.Count < Rows)
            {
                createNewRow(_table.Rows.Count);
            }

            // Checks that each row has the correct number of columns.
            for (int i = 0; i < _table.Rows.Count;
 i++)
            {
                while (_table.Rows[i].Cells.Count < Columns)
                {
                    appendCell(_table.Rows[i], i, _table.Rows[i].Cells.Count);
                }

                while (_table.Rows[i].Cells.Count > Columns)
                {
                    _table.Rows[i].Cells.RemoveAt(_table.Rows[i].Cells.Count - 1);
                }
            }
        }

        protected override void CreateChildControls()
        /*
         * Function name: CreateChildControls.
         * Adds the Table and the text control to the control collection.
         */
        {
            LiteralControl text;

            // Initializes the text control using the Title property.
            text = new LiteralControl("<h5>" +
 Title + "</h5>");
            Controls.Add(text);

            _table = new Table();
            _table.BorderWidth = 2;
            Controls.Add(_table);
        }
    }
}
package CustomControls;
import System.*;
import System.Web.*;
import System.Web.UI.*;
import System.Web.UI.WebControls.*;
import System.Collections.*;
import System.Drawing.*;
import System.Security.Permissions.*;

/** @attribute AspNetHostingPermission(SecurityAction.InheritanceDemand, Level =
 AspNetHostingPermissionLevel.Minimal)]
 */
public class MyTableCell extends TableCell
 implements INamingContainer
{
}

/** @attribute AspNetHostingPermission(SecurityAction.InheritanceDemand, Level =
 AspNetHostingPermissionLevel.Minimal)]
 */
public class MyCell
{
    /*
        Class name: MyCell.
        Declares the class for the child controls
 to include in the control
        collection.
    */
    private String _id;
    private String _value;
    private Color _backColor;
    
    /** @property 
     */
    public String get_CellID()
    {
        return _id;
    } //get_CellID

    /** @property 
     */
    public void set_CellID(String value)
    {
        _id = value;
    } //set_CellID

    /** @property 
     */
    public String get_Text()
    {
        return _value;
    } //get_Text

    /** @property 
     */
    public void set_Text(String value)
    {
        _value = value;
    } //set_Text

    /** @property 
     */
    public Color get_BackColor()
    {
        return _backColor;
    } //get_BackColor

    /** @property 
     */
    public void set_BackColor(Color value)
    {
        _backColor = value;
    } //set_BackColor
} //MyCell

/** @attribute AspNetHostingPermission(SecurityAction.InheritanceDemand, Level =
 AspNetHostingPermissionLevel.Minimal)]
 */
public class MyControlBuilder extends ControlBuilder
{
    public Type GetChildControlType(String tagName, IDictionary
 attribs)
    {
        // Allows TableRow without "runat=server" attribute
 to be added
        // to the collection.
        if (String.Compare(tagName, "mycell", true)
 == 0) {
            return MyCell.class.ToType();
        }
        return null;
    }

    public void AppendLiteralString(String
 s)
    {
        // Ignores literals between rows.
    }
}

/** @attribute ControlBuilderAttribute(MyControlBuilder.class)
 */
/** @attribute AspNetHostingPermission(SecurityAction.InheritanceDemand, Level =
 AspNetHostingPermissionLevel.Minimal)]
 */
public class MyJSL_CustomControl extends Control
 implements INamingContainer
{
    /*
        Class name: MyJSL_CustomControl.
        Processes the element declarations within a control declaration. 
        This builds the actual control.
    */
    // Declares the custom control that must be built programmatically.
    private Table _table;
    private String _title;
    private int _rows;
    private int _columns;
    private Hashtable _cellObjects = new Hashtable();

    // Rows property to be used as the attribute name in the Web page.
  
    /** @property 
     */
    public int get_Rows()
    {
        return _rows;
    }

    /** @property 
     */
    public void set_Rows(int
 value)
    {
        _rows = value;
    }

    // Columns property to be used as the attribute name in the Web
 page.
    /** @property 
     */
    public int get_Columns()
    {
        return _columns;
    }

    /** @property 
     */
    public void set_Columns(int
 value)
    {
        _columns = value;
    }

    // Title property to be used as the attribute name in the Web page.
    /** @property 
     */
    public String get_Title()
    {
        return _title;
    }

    /** @property 
     */
    public void set_Title(String value)
    {
        _title = value;
    }

    protected void CreateNewRow(int
 rowNumber)
    {
        // Creates a row and adds it to the table.
        TableRow row;
        row = new TableRow();
        _table.get_Rows().Add(row);
        // Creates a cell that contains text.
        for (int y = 0; y < get_Columns();
 y++) {
            AppendCell(row, rowNumber, y);
        }
    } //CreateNewRow

    protected void AppendCell(TableRow row,
 int rowNumber, int cellNumber)
    {
        TableCell cell;
        TextBox textbox;

        cell = new TableCell();
        textbox = new TextBox();
        cell.get_Controls().Add(textbox);
        textbox.set_ID("r" + ((Int32)rowNumber).ToString() + "c"
            + ((Int32)cellNumber).ToString());
        // Checks for the MyCell child object.
        if (_cellObjects.get_Item(textbox.get_ID()) != null)
 {
            MyCell cellLookup;
            cellLookup = (MyCell)_cellObjects.get_Item(textbox.get_ID());

            textbox.set_Text(cellLookup.get_Text());
            textbox.set_BackColor(cellLookup.get_BackColor());
        }
        else {
            textbox.set_Text("Row: " + ((Int32)rowNumber).ToString() +
 " Cell: "
                + ((Int32)cellNumber).ToString());
        }

        row.get_Cells().Add(cell);
    }

    // Called at runtime when a child object is added to the collection.
  
    protected void AddParsedSubObject(Object
 obj)
    {
        MyCell cell = (MyCell)obj;
        if (cell != null) {
            _cellObjects.Add(cell.get_CellID(), cell);
        }
    }

    protected void OnPreRender(EventArgs e)
    {
        /*
            Function name: OnPreRender.
            Carries out changes affecting the control state and renders the
            resulting UI.
        */
        // Increases the number of rows if needed.
        while (_table.get_Rows().get_Count() < get_Rows())
 {
            CreateNewRow(_table.get_Rows().get_Count());
        }
        // Checks that each row has the correct number of columns.
        for (int i = 0; i < _table.get_Rows().get_Count();
 i++) {
            while (_table.get_Rows().get_Item(i).get_Cells().
                get_Count() < get_Columns()) {
                AppendCell(_table.get_Rows().get_Item(i), i,
                    _table.get_Rows().get_Item(i).get_Cells().get_Count());
            }

            while (_table.get_Rows().get_Item(i).get_Cells().get_Count()
 >
                get_Columns()) {
                _table.get_Rows().get_Item(i).get_Cells().RemoveAt(
                    _table.get_Rows().get_Item(i).get_Cells().get_Count() - 1);
            }
        }
    }

    protected void CreateChildControls()
    {
        /*
            Function name: CreateChildControls.
            Adds the Table and the text control to the control collection.
        */
        LiteralControl text;
        // Initializes the text control using the Title property.
        text = new LiteralControl("<h5>" + get_Title()
 + "</h5>");
        get_Controls().Add(text);

        _table = new Table();
        _table.set_BorderWidth(new Unit(2));
        get_Controls().Add(_table);
    }
}

前述のカスタム コントロールを使用するコード例を次に示します。特に、この例では、実行時に属性と内容が定義されるテーブルを作成します。@ Register ディレクティブに示される値には、前のコマンド ラインが反映されます。

<%@ Page Language="VB" %>
<%@ Register TagPrefix="AspNetSamples" Assembly="vb_mycontrolbuilder"
 Namespace="CustomControls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
</script>

<html  >
<head runat="server">
    <title>ControlBuilder Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
       <AspNetSamples:MyVB_CustomControl id="Custom1"
 
                                         title="Auto-Generated
 Table"
                                         columns="3"
                                         rows="3"
  
                                         runat="server">
         <mycell cellid="r0c0" BackColor="red"
 text="red cell"></mycell>
         <mycell cellid="r2c2" BackColor="green"
 text="green cell"></mycell>
       </AspNetSamples:MyVB_CustomControl>
    </div>
    </form>
</body>
</html>
<%@ Page Language="C#" %>
<%@ Register TagPrefix="AspNetSamples" Assembly="cs_mycontrolbuilder"
 Namespace="CustomControls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
</script>

<html  >
<head runat="server">
    <title>ControlBuilder Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
       <AspNetSamples:MyCS_CustomControl id="Custom1" 
                                         title="Auto-Generated Table"
                                         columns="3"
                                         rows="3"  
                                         runat="server">
         <mycell cellid="r0c0" BackColor="red" text="red
 cell"></mycell>
         <mycell cellid="r2c2" BackColor="green" text="green
 cell"></mycell>
       </AspNetSamples:MyCS_CustomControl>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VJ#" %>
<%@ Register TagPrefix="AspNetSamples" Assembly="js_mycontrolbuilder"
 Namespace="CustomControls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
</script>

<html  >
<head runat="server">
    <title>ControlBuilder Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
       <AspNetSamples:MyJSL_CustomControl id="Custom1" 
                                         title="Auto-Generated Table"
                                         columns="3"
                                         rows="3"  
                                         runat="server">
         <mycell cellid="r0c0" BackColor="red" text="red
 cell"></mycell>
         <mycell cellid="r2c2" BackColor="green" text="green
 cell"></mycell>
       </AspNetSamples:MyJSL_CustomControl>
    </div>
    </form>
</body>
</html>
.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
  System.Web.UI.ControlBuilder
     派生クラス
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ControlBuilder メンバ
System.Web.UI 名前空間
Control クラス
WebControl
Page
ControlBuilderAttribute
ParseChildrenAttribute
PersistChildrenAttribute
AddParsedSubObject

ControlBuilder コンストラクタ


ControlBuilder フィールド


パブリック フィールドパブリック フィールド

  名前 説明
パブリック フィールド DesignerFilter "__designer" リテラル文字列を表します。
参照参照

関連項目

ControlBuilder クラス
System.Web.UI 名前空間
Control クラス
WebControl
Page
ControlBuilderAttribute
ParseChildrenAttribute
PersistChildrenAttribute
AddParsedSubObject

ControlBuilder プロパティ


パブリック プロパティパブリック プロパティ

( プロテクト プロパティ も参照)
  名前 説明
パブリック プロパティ BindingContainerType このビルダが作成するコントロールのバインディング コンテナの型を取得します。
パブリック プロパティ ControlType 作成するコントロールの Type を取得します。
パブリック プロパティ CurrentFilterResolutionService デザイナ上でコントロールを解析したり永続化したりする際に、デバイス フィルタ関連サービスを管理するために使用される IFilterResolutionService オブジェクトを取得します。
パブリック プロパティ DeclareType コントロールを宣言するために codegen によって使用される型を取得します。
パブリック プロパティ HasAspCode コントロールにコード ブロックが格納されているかどうかを示す値を取得します。
パブリック プロパティ ID 作成するコントロールの識別子プロパティを取得または設定します。
パブリック プロパティ Localize この ControlBuilder オブジェクトによって作成されるコントロールがローカライズされるかどうかを示すブール値を取得します。
パブリック プロパティ NamingContainerType このビルダが作成するコントロールの名前付けコンテナの型を取得します。
パブリック プロパティ ServiceProvider この ControlBuilder オブジェクトのサービス オブジェクトを取得します。
パブリック プロパティ TagName 作成するコントロールのタグ名を取得します。
パブリック プロパティ ThemeResolutionService デザイン時にコントロールのテーマとスキンを管理するために使用される IThemeResolutionService オブジェクトを取得します。
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ FChildrenAsProperties コントロールの ParseChildrenAttribute の ChildrenAsProperties を true に設定するかどうかを決定します。
プロテクト プロパティ FIsNonParserAccessor コントロールに IParserAccessor インターフェイスを実装するかどうかを決定します。
プロテクト プロパティ InDesigner ControlBuilder がデザイナで実行されているかどうかを示す値を返します。
プロテクト プロパティ InPageTheme この ControlBuilder オブジェクトを使用してページ テーマを生成するかどうかを示すブール値を取得します。
プロテクト プロパティ Parser コントロールを解析する TemplateParser を取得します。
参照参照

関連項目

ControlBuilder クラス
System.Web.UI 名前空間
Control クラス
WebControl
Page
ControlBuilderAttribute
ParseChildrenAttribute
PersistChildrenAttribute
AddParsedSubObject

ControlBuilder メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AllowWhitespaceLiterals コントロールの開始タグと終了タグ間の内容内に空白リテラルが許可されるかどうかを判断します。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド AppendLiteralString 指定されたリテラルな内容をコントロールに追加します。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド AppendSubBuilder コンテナ コントロールに属するすべての子コントロールの ControlBuilder オブジェクトにビルダを追加します。
パブリック メソッド BuildObject この ControlBuilder オブジェクトによって参照されるコントロールのデザイン時のインスタンスを作成します。
パブリック メソッド CloseControl コントロールの開始タグと終了タグの解析が完了したことをビルダに通知するためにパーサーによって呼び出されます。
パブリック メソッド CreateBuilderFromType 指定されたタグ名、オブジェクト型、およびビルダを定義する他のさまざまなパラメータを使用して、ControlBuilder オブジェクトを作成します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetChildControlType 子タグに対応するコントロールの型を示す Type を取得します。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetObjectPersistData この ControlBuilder オブジェクトの ObjectPersistData オブジェクトを作成します。
パブリック メソッド GetResourceKey この ControlBuilder オブジェクトのリソース キーを取得します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド HasBody コントロールに開始タグと終了タグの両方のタグを含めるかどうかを決定します。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド HtmlDecodeLiterals HTML コントロールのリテラル文字列を HTML デコードするかどうかを決定します。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド Init インスタンス化後、ControlBuilder を初期化します。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド NeedsTagInnerText コントロール ビルダがその内部テキストを取得するかどうかを決定します。内部テキストを取得する必要がある場合は、SetTagInnerText メソッドを呼び出す必要があります。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド OnAppendToParentBuilder 親コントロール ビルダに追加されることを ControlBuilder に通知します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド SetResourceKey この ControlBuilder オブジェクトのリソース キーを設定します。
パブリック メソッド SetServiceProvider この ControlBuilder オブジェクトのサービス オブジェクトを設定します。
パブリック メソッド SetTagInnerText ControlBuilder にコントロール タグの内部テキストを提供します。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

ControlBuilder クラス
System.Web.UI 名前空間
Control クラス
WebControl
Page
ControlBuilderAttribute
ParseChildrenAttribute
PersistChildrenAttribute
AddParsedSubObject

ControlBuilder メンバ

コントロールとその子コントロールを作成するときにページ パーサーをサポートします。

ControlBuilder データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド ControlBuilder ControlBuilder クラスの新しいインスタンスを初期化します。
パブリック フィールドパブリック フィールド
  名前 説明
パブリック フィールド DesignerFilter "__designer" リテラル文字列を表します。
パブリック プロパティパブリック プロパティ
( プロテクト プロパティ も参照)
  名前 説明
パブリック プロパティ BindingContainerType このビルダが作成するコントロールのバインディング コンテナの型を取得します。
パブリック プロパティ ControlType 作成するコントロールの Type を取得します。
パブリック プロパティ CurrentFilterResolutionService デザイナ上でコントロールを解析したり永続化したりする際に、デバイス フィルタ関連サービスを管理するために使用される IFilterResolutionService オブジェクトを取得します。
パブリック プロパティ DeclareType コントロールを宣言するために codegen によって使用される型を取得します。
パブリック プロパティ HasAspCode コントロールにコード ブロックが格納されているかどうかを示す値を取得します。
パブリック プロパティ ID 作成するコントロールの識別子プロパティを取得または設定します。
パブリック プロパティ Localize この ControlBuilder オブジェクトによって作成されるコントロールがローカライズされるかどうかを示すブール値を取得します。
パブリック プロパティ NamingContainerType このビルダが作成するコントロールの名前付けコンテナの型を取得します。
パブリック プロパティ ServiceProvider この ControlBuilder オブジェクトのサービス オブジェクトを取得します。
パブリック プロパティ TagName 作成するコントロールのタグ名を取得します。
パブリック プロパティ ThemeResolutionService デザイン時にコントロールのテーマとスキンを管理するために使用される IThemeResolutionService オブジェクトを取得します。
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ FChildrenAsProperties コントロールの ParseChildrenAttribute の ChildrenAsProperties を true に設定するかどうかを決定します。
プロテクト プロパティ FIsNonParserAccessor コントロールに IParserAccessor インターフェイスを実装するかどうかを決定します。
プロテクト プロパティ InDesigner ControlBuilder がデザイナで実行されているかどうかを示す値を返します。
プロテクト プロパティ InPageTheme この ControlBuilder オブジェクトを使用してページ テーマを生成するかどうかを示すブール値を取得します。
プロテクト プロパティ Parser コントロールを解析する TemplateParser を取得します。
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AllowWhitespaceLiterals コントロールの開始タグと終了タグ間の内容内に空白リテラルが許可されるかどうかを判断します。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド AppendLiteralString 指定されたリテラルな内容をコントロールに追加します。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド AppendSubBuilder コンテナ コントロールに属するすべての子コントロールの ControlBuilder オブジェクトにビルダを追加します。
パブリック メソッド BuildObject この ControlBuilder オブジェクトによって参照されるコントロールのデザイン時のインスタンスを作成します。
パブリック メソッド CloseControl コントロールの開始タグと終了タグの解析が完了したことをビルダに通知するためにパーサーによって呼び出されます。
パブリック メソッド CreateBuilderFromType 指定されたタグ名、オブジェクト型、およびビルダを定義する他のさまざまなパラメータを使用して、ControlBuilder オブジェクトを作成します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetChildControlType 子タグに対応するコントロールの型を示す Type を取得します。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetObjectPersistData この ControlBuilder オブジェクトの ObjectPersistData オブジェクトを作成します。
パブリック メソッド GetResourceKey この ControlBuilder オブジェクトのリソース キーを取得します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド HasBody コントロールに開始タグと終了タグの両方のタグを含めるかどうかを決定します。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド HtmlDecodeLiterals HTML コントロールのリテラル文字列を HTML デコードするかどうかを決定します。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド Init インスタンス化後、ControlBuilder を初期化します。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド NeedsTagInnerText コントロール ビルダがその内部テキストを取得するかどうかを決定します。内部テキストを取得する必要がある場合は、SetTagInnerText メソッドを呼び出す必要があります。このメソッドは ASP.NET ページ フレームワークによって呼び出されます。
パブリック メソッド OnAppendToParentBuilder 親コントロール ビルダに追加されることを ControlBuilder に通知します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド SetResourceKey この ControlBuilder オブジェクトのリソース キーを設定します。
パブリック メソッド SetServiceProvider この ControlBuilder オブジェクトのサービス オブジェクトを設定します。
パブリック メソッド SetTagInnerText ControlBuilder にコントロール タグの内部テキストを提供します。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

ControlBuilder クラス
System.Web.UI 名前空間
Control クラス
WebControl
Page
ControlBuilderAttribute
ParseChildrenAttribute
PersistChildrenAttribute
AddParsedSubObject



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「ControlBuilder」の関連用語

ControlBuilderのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ControlBuilderのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS