Edit

Share via


ControlBuilder.GetChildControlType(String, IDictionary) Method

Definition

Obtains the Type of the control type corresponding to a child tag. This method is called by the ASP.NET page framework.

public:
 virtual Type ^ GetChildControlType(System::String ^ tagName, System::Collections::IDictionary ^ attribs);
public virtual Type GetChildControlType (string tagName, System.Collections.IDictionary attribs);
abstract member GetChildControlType : string * System.Collections.IDictionary -> Type
override this.GetChildControlType : string * System.Collections.IDictionary -> Type
Public Overridable Function GetChildControlType (tagName As String, attribs As IDictionary) As Type

Parameters

tagName
String

The tag name of the child.

attribs
IDictionary

An array of attributes contained in the child control.

Returns

The Type of the specified control's child.

Examples

// Create a custom ControlBuilder that interprets nested elements
// named myitem as TextBoxes. If this class is called in a 
// ControlBuilderAttribute applied to a custom control, when
// that control is created in a page and it contains child elements
// that are named myitem, the child elements will be rendered as 
// TextBox server controls. This control builder also ignores literal
// strings between elements when it is associated with a control.
[AspNetHostingPermission(SecurityAction.Demand, 
   Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class MyItemControlBuilder : ControlBuilder 
{
   // Override the GetChildControlType method to detect
   // child elements named myitem.
   public override Type GetChildControlType(String tagName,
                                     IDictionary attributes)
   {
      if (String.Compare(tagName, "myitem", true) == 0) 
      {
         return typeof(TextBox);
      }
      return null;
   }

   // Override the AppendLiteralString method so that literal
   // text between rows of controls are ignored.  
   public override void AppendLiteralString(string s) 
   {
     // Ignores literals between rows.
   }
}
' Create a custom ControlBuilder that interprets nested elements
' named myitem as TextBoxes. If this class is called in a 
' ControlBuilderAttribute applied to a custom control, when
' that control is created in a page and it contains child elements
' that are named myitem, the child elements will be rendered as 
' TextBox server controls. This control builder also ignores literal
' strings between elements when it is associated with a control.

<AspNetHostingPermission(SecurityAction.Demand, _
  Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class MyItemControlBuilder
  Inherits ControlBuilder
  
  ' Override the GetChildControlType method to detect
  ' child elements named myitem.
  Public Overrides Function GetChildControlType(ByVal tagName As String, ByVal attribs As IDictionary) As Type
     If [String].Compare(tagName, "myitem", True) = 0 Then
        Return GetType(TextBox)
     End If
     Return Nothing
  End Function 'GetChildControlType
  
  
  ' Override the AppendLiteralString method so that literal
  ' text between rows of controls are ignored.  
  Public Overrides Sub AppendLiteralString(s As String)
  End Sub
End Class

Remarks

This method is called by the ASP.NET page framework during parsing and is not intended to be called directly in you code.

Applies to