databoundtemplate.vb
来自「asp.net技术内幕的书配源码」· VB 代码 · 共 68 行
VB
68 行
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 + =
减小字号Ctrl + -
显示快捷键?