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 ページ フレームワークによって呼び出され、コード内で直接呼び出されるものではありません。

適用対象