Imports System Imports System.Web Imports System.Web.UI Namespace myControls Public Class TemplateItem Inherits Control Implements INamingContainer Private _dataItem As String Public Sub New( DataItem As String ) _dataItem = DataItem End Sub Public Property DataItem As String Get Return _dataItem End Get Set _dataItem = Value End Set End Property End Class Public Class SimpleTemplate Inherits Control Implements INamingContainer Private _itemTemplate As ITemplate Private _text As String Public Property Text As String Get Return _text End Get Set _text = Value End Set End Property _ Public Property ItemTemplate As ITemplate Get Return _itemTemplate End Get Set _itemTemplate = Value End Set End Property Public Overrides Sub DataBind() EnsureChildControls() MyBase.DataBind() End Sub Protected Overrides Sub CreateChildControls() Dim objTemplateItem As TemplateItem Controls.Clear() objTemplateItem = New TemplateItem( Me.Text ) ItemTemplate.InstantiateIn( objTemplateItem ) Controls.Add( objTemplateItem ) End Sub End Class End Namespace