Control :
Render : WebControl继承自 Control类,并且重写了 Render方 法。子类一般情况下应该重写该方法。
RenderChildren:用于呈现该控件的子节点 (通常是 HTML)
RenderControl :用于呈现控件 ( 是一个 Control 对象 )
RenderChildren是呈现控件,而 CreateChildControls主要是初始化子控件(注意不是呈现子控件)。
WebControl: ( 继承 Control 的几个方法 )
关于 Render 的几个重要方法 ( 方法参数皆为 HtmlTextWriter(相关 3个枚举型: HtmlTextWriterTag , HtmlTextWriterAttribute , HtmlTextWriterStyle )) :
AddAttributesToRender: WebControl的子类应该重写该方法,以便包含用于呈现最外层 HTML元素的 HTML属性的代码 块。
RenderBeginTag: WebControl的子类应该重写该方法,以便包含用于呈现最外层 HTML元素的打开标记的代码 块。
RenderContents: WebControl的子类应该重写该方法,以便包含用于呈现最外层 HTML元素的打开和关闭标记之间嵌套的 HTML的代码块。
RenderEndTag: WebControl的子类应该重写该方法,以便包含用于呈现最外层 HTML元素的关闭标记的代码 块。
TagKey属性:只读属性,用于设置最外层 HTML元素的 HTML元素。
事件调用顺序
- CreateChildControls
- OnInit
- TrackViewState
- LoadViewState
- LoadPostData
- OnLoad
- RaisePostDataChangedEvent
- OnBubbleEvent)
- OnPreRender
- SaveViewState
- RenderControl
- Render
- RenderBeginTag
- AddAttributesToRender
- CreateControlStyle
- RenderContents
- RenderChildren
- RenderEndTag
- OnUnload