다음을 통해 공유


ControlBuilder.GetChildControlType(String, IDictionary) 메서드

정의

자식 태그에 해당하는 컨트롤 형식의 Type을 가져옵니다. 이 메서드는 ASP.NET 페이지 프레임워크에서 호출합니다.

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

매개 변수

tagName
String

자식의 태그 이름입니다.

attribs
IDictionary

자식 컨트롤에 포함된 특성의 배열입니다.

반환

Type

지정된 컨트롤 자식의 Type입니다.

예제

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

설명

이 메서드는 구문 분석하는 동안 ASP.NET 페이지 프레임워크에서 호출되며 코드에서 직접 호출되지 않습니다.

적용 대상