templatenumbers.cs

来自「asp.net技术内幕的书配源码」· CS 代码 · 共 57 行

CS
57
字号
using System;
using System.Web;
using System.Web.UI;

namespace myControls {

	public class TemplateNumbersItem : Control, INamingContainer {

		private int _dataItem;

		public TemplateNumbersItem(int DataItem) {
			_dataItem = DataItem;
		}

		public int DataItem  {
			get {
				return _dataItem;
			}
			set {
				_dataItem = value;
			}
		}
	}



	[ParseChildren(true)]
	public class TemplateNumbers : Control, INamingContainer {
		private ITemplate _numberTemplate;

		[TemplateContainer(typeof(TemplateNumbersItem))]
		public ITemplate NumberTemplate {
			get {
				return _numberTemplate;
			}
			set {
				_numberTemplate = value;
			}
		}

		public override void DataBind() {
			EnsureChildControls();
			base.DataBind();
		}

		protected override void CreateChildControls() {
    			TemplateNumbersItem objTemplateNumbersItem;
			Controls.Clear();
			for (int i=0;i<=10;i++) {
				objTemplateNumbersItem = new TemplateNumbersItem( i );
				NumberTemplate.InstantiateIn( objTemplateNumbersItem );
				Controls.Add( objTemplateNumbersItem );
			}
		}
	}
}

⌨️ 快捷键说明

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