使用模板化控件的方法
模板化控件 1.模板是页面语法中的一部分,可以包括带有静态HTML以及其它文字文本的服务器控件. 2.模板控件提供了重要的自定义能力,通常被称作无外观控件(looklesscontrols),因为它并没能生成预先确定的用户界面. 3.样式可以使我们定制生成UI的可视化外观,模板可以使我们自定义所生成的UI的内容. 4.页面解析器解析模板标签(<%#Container.DataItem%>)内的文本,并生成一个解析树来表示模板的内容,就像解析整个页面时一样. 5.解析器用解析树(由System.Web.UI.ControlBuilder对象组成)来创建ITemplate类型的一个实例. 6.该ITemplate实例可以在给定的容器控件中创建表示模板内容的控件层次. ITemplate接口的定义: publicinterfaceITemplate { voidInstantiateIn(Controlcontainer); }. InstantiateIn方法的描述: A.InstantiatenIn方法实例化该模板的元素,作为该模板容器的子控件. B.当由类实现时,定义子控件和模板所属的Control对象.然后在内联模板中定义这些子控件. C.Iterativelypopulatesaprovidedcontrolwithasubhierarchyofchildcontrolsrepresentedbythetemplate. 7.解析器把该ITemplate实例赋值给控件相应的ITmplate属性.当构造控件层次时,控件可以多次调用模板的InstantiateIn方法,每次调用时模板创建由模板的内容表示的控件树的一个副本. 8.模板通常在数据绑定控件的环境中用到.