multipletemplates.cs
来自「asp.net技术内幕的书配源码」· CS 代码 · 共 71 行
CS
71 行
using System;
using System.Web;
using System.Web.UI;
namespace myControls {
public class MultipleTemplatesTemplateItem : Control, INamingContainer {
private int _dataItem;
public MultipleTemplatesTemplateItem( int DataItem ) {
_dataItem = DataItem;
}
public int DataItem {
get {
return _dataItem;
}
set {
_dataItem = value;
}
}
}
[ParseChildren(true)]
public class MultipleTemplates : Control, INamingContainer {
private ITemplate _itemTemplate;
private ITemplate _alternatingItemTemplate;
[TemplateContainer(typeof(MultipleTemplatesTemplateItem))]
public ITemplate ItemTemplate {
get {
return _itemTemplate;
}
set {
_itemTemplate = value;
}
}
[TemplateContainer(typeof(MultipleTemplatesTemplateItem))]
public ITemplate AlternatingItemTemplate {
get {
return _alternatingItemTemplate;
}
set {
_alternatingItemTemplate = value;
}
}
public override void DataBind() {
EnsureChildControls();
base.DataBind();
}
protected override void CreateChildControls() {
MultipleTemplatesTemplateItem objTemplateItem;
Controls.Clear();
for (int i=0;i<=10;i++) {
objTemplateItem = new MultipleTemplatesTemplateItem(i);
if (Decimal.Remainder( i, 2 ) == 0)
ItemTemplate.InstantiateIn( objTemplateItem );
else
AlternatingItemTemplate.InstantiateIn( objTemplateItem );
Controls.Add( objTemplateItem );
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?