📄 databoundtemplate.cs
字号:
using System;
using System.Web;
using System.Web.UI;
using System.Collections;
namespace myControls {
[ParseChildren(true)]
public class DataBoundTemplate : Control {
private IEnumerable _dataSource;
private ITemplate _itemTemplate;
public IEnumerable DataSource {
get {
return _dataSource;
}
set {
_dataSource = value;
}
}
protected override void OnDataBinding(EventArgs e) {
IEnumerator objDataEnum;
DataBoundTemplateItem objItem;
if (DataSource != null) {
Controls.Clear();
objDataEnum = DataSource.GetEnumerator();
while ( objDataEnum.MoveNext() ) {
objItem = new DataBoundTemplateItem( objDataEnum.Current );
ItemTemplate.InstantiateIn( objItem );
Controls.Add( objItem );
}
}
}
[TemplateContainer(typeof(DataBoundTemplateItem))]
public ITemplate ItemTemplate {
get {
return _itemTemplate;
}
set {
_itemTemplate = value;
}
}
}
public class DataBoundTemplateItem : Control, INamingContainer {
private object _dataItem;
public DataBoundTemplateItem( object DataItem ) : base() {
_dataItem = DataItem;
}
public object DataItem {
get {
return _dataItem;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -