Export (0) Print
Expand All

ITemplate Interface

Defines the behavior for populating a templated ASP.NET server control with child controls. The child controls represent the inline templates defined on the page.

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

'Declaration
Public Interface ITemplate

The ITemplate type exposes the following members.

  NameDescription
Public methodInstantiateInWhen implemented by a class, defines the Control object that child controls and templates belong to. These child controls are in turn defined within an inline template.
Top

This interface is used by custom server controls, but never implemented by them. ASP.NET always implements it.

The following code example demonstrates a simple templated server control that uses the ITemplate interface to create a templated property.

Imports System
Imports System.Web
Imports System.Web.UI

Namespace TemplateControlSamplesVB

    Public Class TemplateItem
        Inherits Control
        Implements INamingContainer

        Private _message As String = Nothing 

        Public Sub New(Message As String)
            _message = message
        End Sub 

        Public Property Message As String 
           Get 
              Return _message
           End Get 
           Set
              _message = Value
           End Set 
        End Property 
    End Class
    <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust"), _
    ParseChildren(true)> _
    Public Class Template1VB
        Inherits Control
        Implements INamingContainer

        Private _messageTemplate As ITemplate = Nothing 
        Private _message As String = Nothing 

        Public Property Message As String 

           Get 
              Return _message
           End Get 
           Set
              _message = Value
           End Set 
        End Property

        <TemplateContainer(GetType(TemplateItem))> _
        Public Property MessageTemplate As ITemplate

           Get 
              Return _messageTemplate
           End Get 
           Set
              _messageTemplate = Value
           End Set 
        End Property 

        Protected Overrides Sub CreateChildControls()

           ' If a template has been specified, use it to create children. 
           ' Otherwise, create a single LiteralControl with the message value. 

           If Not (MessageTemplate Is Nothing)
              Controls.Clear()
              Dim I As New TemplateItem(Me.Message)
              MessageTemplate.InstantiateIn(I)
              Controls.Add(I)
           Else 
              Me.Controls.Add(New LiteralControl(Me.Message))
           End If 
        End Sub 

    End Class 

End Namespace

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft