使用模板化控件的方法
使用模板化控件的方法
模板化控件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.模板通常在数据绑定控件的环境中用到.