ControlBuilder.GetChildControlType(String, IDictionary) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取与子标记对应的控件类型的 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。
示例
// 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 页框架调用,不打算直接在代码中调用。