ControlBuilderAttribute Class
Specifies a ControlBuilder class for building a custom control within the ASP.NET parser. This class cannot be inherited.
Assembly: System.Web (in System.Web.dll)
The ControlBuilderAttribute type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | ControlBuilderAttribute | Infrastructure. Specifies the control builder for a custom control. |
| Name | Description | |
|---|---|---|
![]() | Equals | Infrastructure. Gets a value indicating whether the current ControlBuilderAttribute is identical to the specified object. (Overrides Attribute.Equals(Object).) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Infrastructure. Returns the hash code of the ControlBuilderAttribute object. (Overrides Attribute.GetHashCode.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | IsDefaultAttribute | Infrastructure. Determines whether the current control builder is the default. (Overrides Attribute.IsDefaultAttribute.) |
![]() | Match | When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | _Attribute.GetIDsOfNames | Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfo | Retrieves the type information for an object, which can be used to get the type information for an interface. (Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfoCount | Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from Attribute.) |
![]() ![]() | _Attribute.Invoke | Provides access to properties and methods exposed by an object. (Inherited from Attribute.) |
This attribute specifies the builder Type to be used to create a custom control as shown in the following code:
[ControlBuilderAttribute(typeof(ControlBuilderType))]
The following code example creates a customized selection list that is used to display a message based on the SelectedIndex and the Message values defined at run time. The following command line is used to build the executable.
vbc /r:System.dll /r:System.Web.dll /r:System.Drawing.dll /t:library /out:myWebAppPath/Bin/vb_MyControlBuilderAtt.dll ControlBuilderAtt.vb
'File name: controlBuilderAttribute.vb. Imports System Imports System.Web Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.Collections Namespace CustomControls Public Class MyVB_Item: Inherits Control Private _message As String Public Property Message() As String Get Return _message End Get Set _message = value End Set End Property End Class 'MyVB_Item Public Class VB_CustomParseControlBuilder: Inherits ControlBuilder <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _ Public Overrides Function GetChildControlType(TagName As String, attributes As IDictionary) As Type If (TagName = "customitem") Then Return GetType(CustomControls.MyVB_Item) End If Return Nothing End Function 'GetChildControlType End Class 'CustomParseControlBuilder <ControlBuilderAttribute(GetType(VB_CustomParseControlBuilder))> Public Class MyVB_CustomParse: Inherits Control Private _items As New ArrayList Private _selectedIndex As Integer = 0 Public Property SelectedIndex() As Integer Get Return _selectedIndex End Get Set _selectedIndex = value End Set End Property <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _ Protected Overrides Sub AddParsedSubObject(obj As Object) If TypeOf obj Is MyVB_Item Then _items.Add(obj) End If End Sub 'AddParsedSubObject <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _ Protected Overrides Sub Render(output As HtmlTextWriter) output.Write(("<span style='background-color:aqua; color:red; font:8pt tahoma, verdana;'><b>" + CType(_items(SelectedIndex), MyVB_Item).Message + "</b></span>")) End Sub 'Render End Class 'MyVB_CustomParse End Namespace 'CustomControls
The following example uses the custom control defined above. In particular, it assigns the SelectedIndex and Message values at run time to determine the message to be rendered. Notice that the values shown in the Register directive reflect the previous command line.
<%@ Register TagPrefix="custom" Assembly="myControlBuilderAtt" Namespace="CustomControls" %> <h4>Using ControlBuilderAttribute Class<h4> <form runat="server"> <custom:MyVB_CustomParse SelectedIndex="3" runat=server> <customitem Message="Visual Basic version. Item One selected"/> <customitem Message="Visual Basic version. Item Two selected"/> <customitem Message="Visual Basic version. Item Three selected"/> <customitem Message="Visual Basic version. Item Four selected"/> </custom:MyVB_CustomParse> </form>
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
