⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 databoundtemplate.vb

📁 asp.net技术内幕的书配源码
💻 VB
字号:
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Collections

Namespace myControls

<ParseChildren(true)> Public Class DataBoundTemplate
Inherits Control

  Private _dataSource As IEnumerable
  Private _itemTemplate As ITemplate

  Public Property DataSource As IEnumerable
    Get
      Return _dataSource
    End Get
    Set
      _dataSource = Value
    End Set
  End Property

  Protected Overrides Sub OnDataBinding( e As EventArgs )
    Dim objDataEnum As IEnumerator
    Dim objItem As DataBoundTemplateItem

    If Not DataSource Is Nothing
      Controls.Clear()
      objDataEnum = DataSource.GetEnumerator()
      While ( objDataEnum.MoveNext() )
        objItem = New DataBoundTemplateItem( objDataEnum.Current )
        ItemTemplate.InstantiateIn( objItem )
        Controls.Add( objItem )
      End While
    End If
  End Sub

  <TemplateContainer(GetType(DataBoundTemplateItem))> _
  Public Property ItemTemplate As ITemplate
    Get
      Return _itemTemplate
    End Get
    Set
      _itemTemplate = value
    End Set
  End Property
End Class

Public Class DataBoundTemplateItem
Inherits Control
Implements INamingContainer

  Private _DataItem As Object

  Public Sub New( DataItem As Object )
    MyBase.New()
    _dataItem = DataItem
  End Sub

  Public ReadOnly Property DataItem As Object
    Get
      Return _dataItem
    End Get
  End Property
End Class

End Namespace

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -