Freigeben über


TemplateContainerAttribute.ContainerType-Eigenschaft

Ruft den Typ des Containersteuerelements ab.

Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public ReadOnly Property ContainerType As Type
'Usage
Dim instance As TemplateContainerAttribute
Dim value As Type

value = instance.ContainerType
public Type ContainerType { get; }
public:
property Type^ ContainerType {
    Type^ get ();
}
/** @property */
public Type get_ContainerType ()
public function get ContainerType () : Type

Eigenschaftenwert

Das Containersteuerelement Type.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie ein mit dem Namen TemplatedFirstControl benanntes Steuerelement mit Vorlage erstellt und einem Container mit dem Namen FirstTemplateContainer zugeordnet wird. Damit können benutzerdefinierte Steuerelemente erstellt werden, die bei nicht angegebener Vorlage die Serverzeit anzeigen. Wenn die Vorlage angegeben ist, wird der Vorlageninhalt angezeigt. Die TemplateContainerAttribute-Klasse wird für die FirstTemplate-Eigenschaft verwendet. Außerdem wird über sie die ContainerType-Eigenschaft als FirstTemplateContainer angegeben.

' File name:templatecontainerattribute.vb.

Imports System
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 'CreateChildControls

    End Class 'VB_TemplatedFirstControl


    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 'New

        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 'VB_FirstTemplateContainer

End Namespace 'CustomControls
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;
        }
                  
      }
    }
    
  }
package Samples.AspNet.CS.Controls;
/* File name:templatecontainerattribute.jsl. */

import System.*;
import System.Web.*;
import System.Web.UI.*;
import System.Web.UI.WebControls.*;
import System.Collections.*;

/** @attribute ParseChildren(true)
 */
public class TemplatedFirstControl extends Control implements INamingContainer
{
    private ITemplate firstTemplate;
    private String text = null;
    private Control myTemplateContainer;

    protected void OnDataBinding(EventArgs e)
    {
        EnsureChildControls();
        super.OnDataBinding(e);
    } //OnDataBinding

    /** @attribute TemplateContainer(FirstTemplateContainer.class)
     */
    /** @property 
     */
    public ITemplate get_FirstTemplate()
    {
        return firstTemplate;
    } //get_FirstTemplate

    /** @property 
     */
    public void set_FirstTemplate(ITemplate value)
    {
        firstTemplate = value;
    } //set_FirstTemplate

    /** @property 
     */
    public String get_Text()
    {
        return text;
    } //get_Text

    /** @property 
     */
    public void set_Text(String value)
    {
        text = value;
    } //set_Text

    /** @property 
     */
    public String get_DateTime()
    {
        return System.DateTime.get_Now().ToLongTimeString();
    } //get_DateTime

    /** @property 
     */
    public Control get_MyTemplateContainer()
    {
        return myTemplateContainer;
    } //get_MyTemplateContainer

    protected void CreateChildControls()
    {
         if (get_FirstTemplate() != null) {
            myTemplateContainer = new FirstTemplateContainer(this);
            get_FirstTemplate().InstantiateIn(myTemplateContainer);
            get_Controls().Add(myTemplateContainer);
        }
        else {
            get_Controls().Add(new LiteralControl(get_Text() + " "
                + DateTime.class));
        }
    } //CreateChildControls
} //TemplatedFirstControl

public class FirstTemplateContainer extends Control implements INamingContainer
{
    private TemplatedFirstControl parent;

    public FirstTemplateContainer(TemplatedFirstControl parent)
    {
        this.parent = parent;
    } //FirstTemplateContainer

    /** @property 
     */
    public String get_Text()
    {
        return parent.get_Text();
    } //get_Text

    /** @property 
     */
    public String get_DateTime()
    {
        return parent.get_DateTime();
    } //get_DateTime
} //FirstTemplateContainer

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

TemplateContainerAttribute-Klasse
TemplateContainerAttribute-Member
System.Web.UI-Namespace
TemplateContainerAttribute.BindingDirection-Eigenschaft