Imports System Imports System.Web Imports System.Web.UI Namespace myControls Public Class MultipleTemplatesTemplateItem Inherits Control Implements INamingContainer Private _dataItem As Integer Public Sub New( DataItem As Integer ) _dataItem = DataItem End Sub Public Property DataItem As Integer Get Return _dataItem End Get Set _dataItem = Value End Set End Property End Class Public Class MultipleTemplates Inherits Control Implements INamingContainer Private _itemTemplate As ITemplate Private _alternatingItemTemplate As ITemplate _ Public Property ItemTemplate As ITemplate Get Return _itemTemplate End Get Set _itemTemplate = Value End Set End Property _ Public Property AlternatingItemTemplate As ITemplate Get Return _alternatingItemTemplate End Get Set _alternatingItemTemplate = Value End Set End Property Public Overrides Sub DataBind() EnsureChildControls() MyBase.DataBind() End Sub Protected Overrides Sub CreateChildControls() Dim intCounter As Integer Dim objTemplateItem As MultipleTemplatesTemplateItem Controls.Clear() For intCounter = 1 To 10 objTemplateItem = New MultipleTemplatesTemplateItem( intCounter ) If Decimal.Remainder( intCounter, 2 ) = 0 Then ItemTemplate.InstantiateIn( objTemplateItem ) Else AlternatingItemTemplate.InstantiateIn( objTemplateItem ) End If Controls.Add( objTemplateItem ) Next End Sub End Class End Namespace