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 網頁架構呼叫,而且不適合直接在您程式碼中呼叫。