控件开发基础(1)

1.控件开发之继承基类选择
Code
Control只提供了简单的呈现逻辑,没有对样式的支持,也没有提供HTML控件的默认实现。
WebControl内建对外观的支持,需要生成HTML元素的控件可以从该控件继承。
CompositeControl适合做复合控件。
2.Render()
Control方法直接是Render呈现就可以了。
WebControl的Render是由:RenderBeginTag(),RenderContents(),RenderEndTag()组成。
WebControl的Tag默认为<span></span>,可以进行重写如下:
Code
AddAttributesToRender(HtmlTextWriter writer)一般是对控件最外围的HTML标签进行描述的。就像上述的TagKey DIV
内部实现一般都是由RenderContents(HtmlTextWriter output)来实现的。
CompositeControl只管调用CreateChildControls()进行子控件构建。如果是要对子控件进行布局可以在RenderContents()方法里进行操作。在调用子控件的时候最好要确认子控件是否创建要调用:EnsureChildControls()方法。该方法会调用CreateChildControls()来创建子控件的。

原文地址:https://www.cnblogs.com/HeroBeast/p/1080606.html