TemplateContainerAttribute Oluşturucular

Tanım

TemplateContainerAttribute sınıfının yeni bir örneğini başlatır.

Aşırı Yüklemeler

TemplateContainerAttribute(Type)

Belirtilen kapsayıcı türünü kullanarak sınıfının yeni bir örneğini TemplateContainerAttribute başlatır.

TemplateContainerAttribute(Type, BindingDirection)

Belirtilen kapsayıcı türünü ve özelliğini kullanarak sınıfının yeni bir örneğini TemplateContainerAttributeBindingDirection başlatır.

TemplateContainerAttribute(Type)

Belirtilen kapsayıcı türünü kullanarak sınıfının yeni bir örneğini TemplateContainerAttribute başlatır.

public:
 TemplateContainerAttribute(Type ^ containerType);
public TemplateContainerAttribute (Type containerType);
new System.Web.UI.TemplateContainerAttribute : Type -> System.Web.UI.TemplateContainerAttribute
Public Sub New (containerType As Type)

Parametreler

containerType
Type

Type Kapsayıcı denetimi için.

Örnekler

Aşağıdaki kod örneğinde adlı şablonlu bir denetimin nasıl oluşturulacağı ve adlı TemplatedFirstControlFirstTemplateContainerbir kapsayıcıyla nasıl ilişkilendirilecek gösterilmektedir. Bu, şablon belirtilmediğinde sunucu saatini ve şablon belirtildiğinde şablonun içeriğini görüntüleyen özel denetimlerin oluşturulmasına olanak tanır. TemplateContainerAttribute sınıfı özelliği için FirstTemplate kullanılır.

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

Ayrıca bkz.

Şunlara uygulanır

TemplateContainerAttribute(Type, BindingDirection)

Belirtilen kapsayıcı türünü ve özelliğini kullanarak sınıfının yeni bir örneğini TemplateContainerAttributeBindingDirection başlatır.

public:
 TemplateContainerAttribute(Type ^ containerType, System::ComponentModel::BindingDirection bindingDirection);
public TemplateContainerAttribute (Type containerType, System.ComponentModel.BindingDirection bindingDirection);
new System.Web.UI.TemplateContainerAttribute : Type * System.ComponentModel.BindingDirection -> System.Web.UI.TemplateContainerAttribute
Public Sub New (containerType As Type, bindingDirection As BindingDirection)

Parametreler

containerType
Type

Type Kapsayıcı denetimi için.

bindingDirection
BindingDirection

BindingDirection Kapsayıcı denetimi için.

Ayrıca bkz.

Şunlara uygulanır