TemplateContainerAttribute.ContainerType Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá typ ovládacího prvku kontejneru.
public:
property Type ^ ContainerType { Type ^ get(); };
public Type ContainerType { get; }
member this.ContainerType : Type
Public ReadOnly Property ContainerType As Type
Hodnota vlastnosti
Ovládací prvek Typekontejneru .
Příklady
Následující příklad kódu ukazuje, jak vytvořit ovládací prvek šablony pojmenovaný TemplatedFirstControl
a přidružit ho ke kontejneru s názvem FirstTemplateContainer
. To umožňuje vytvořit vlastní ovládací prvky, které zobrazují čas serveru, když šablona není zadána, a obsah šablony při zadání šablony. Třída TemplateContainerAttribute se používá pro FirstTemplate
vlastnost a pro určení ContainerType vlastnosti jako FirstTemplateContainer
.
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
namespace Samples.AspNet.CS.Controls
{
[ParseChildren(true)]
public class TemplatedFirstControl : Control, INamingContainer
{
private ITemplate firstTemplate;
private String text = null;
private Control myTemplateContainer;
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]
protected override void OnDataBinding(EventArgs e)
{
EnsureChildControls();
base.OnDataBinding(e);
}
[TemplateContainer(typeof(FirstTemplateContainer))]
public ITemplate FirstTemplate
{
get
{
return firstTemplate;
}
set
{
firstTemplate = value;
}
}
public String Text
{
get
{
return text;
}
set
{
text = value;
}
}
public String DateTime
{
get
{
return System.DateTime.Now.ToLongTimeString();
}
}
public Control MyTemplateContainer
{
get
{
return myTemplateContainer;
}
}
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]
protected override void CreateChildControls()
{
if (FirstTemplate != null)
{
myTemplateContainer = new FirstTemplateContainer(this);
FirstTemplate.InstantiateIn(myTemplateContainer);
Controls.Add(myTemplateContainer);
}
else
{
Controls.Add(new LiteralControl(Text + " " + DateTime));
}
}
}
public class FirstTemplateContainer : Control, INamingContainer
{
private TemplatedFirstControl parent;
public FirstTemplateContainer(TemplatedFirstControl parent)
{
this.parent = parent;
}
public String Text
{
get
{
return parent.Text;
}
}
public String DateTime
{
get
{
return parent.DateTime;
}
}
}
}
' File name:templatecontainerattribute.vb.
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Collections
Namespace Samples.AspNet.VB.Controls
<ParseChildren(True)> _
Public Class VB_TemplatedFirstControl
Inherits Control
Implements INamingContainer
Private _firstTemplate As ITemplate
Private [_text] As [String] = Nothing
Private _myTemplateContainer As Control
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Sub OnDataBinding(ByVal e As EventArgs)
EnsureChildControls()
MyBase.OnDataBinding(e)
End Sub
Public Property FirstTemplate() As ITemplate
Get
Return _firstTemplate
End Get
Set(ByVal value As ITemplate)
_firstTemplate = Value
End Set
End Property
Public Property [Text]() As [String]
Get
Return [_text]
End Get
Set(ByVal value As [String])
[_text] = Value
End Set
End Property
Public ReadOnly Property DateTime() As [String]
Get
Return System.DateTime.Now.ToLongTimeString()
End Get
End Property
Public ReadOnly Property MyTemplateContainer() As Control
Get
Return _myTemplateContainer
End Get
End Property
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Sub CreateChildControls()
If Not (FirstTemplate Is Nothing) Then
_myTemplateContainer = New VB_FirstTemplateContainer(Me)
FirstTemplate.InstantiateIn(_myTemplateContainer)
Controls.Add(_myTemplateContainer)
Else
Controls.Add(New LiteralControl([Text] + " " + DateTime))
End If
End Sub
End Class
Public Class VB_FirstTemplateContainer
Inherits Control
Implements INamingContainer
Private _parent As VB_TemplatedFirstControl
Public Sub New(ByVal parent As VB_TemplatedFirstControl)
Me._parent = parent
End Sub
Public ReadOnly Property [Text]() As [String]
Get
Return _parent.Text
End Get
End Property
Public ReadOnly Property DateTime() As [String]
Get
Return _parent.DateTime
End Get
End Property
End Class
End Namespace 'CustomControls