Render RenderContents RenderControl 三个方法的区别
来源:互联网 发布:三星s5数据备份apk下载 编辑:程序博客网 时间:2024/05/21 19:21
每个页面都有一个控件树,代表本页面所拥有的所有子控件,页面控件就是控件树的根,为了生成控件树,页面将建立一个HtmlTextWriter类的实例,在这个实例中封装了相应流,接着页面会把HtmlTextWriter对象传递给RenderControl,RenderControl会检查控件的Visible属性是否为真,如果是真,RenderControl会调用Render方法,而Render方法会去调用RenderContents,RenderContents方法负责将控件的内容呈现到指定的编写器中,如果控件有子控件的话,Render方法又会把HtmlTextWriter传递给RenderChildren方法,RenderChildren方法负责生成控件的子控件。
控件生命周期的Render阶段,主要将控件标记和字符文本输出到服务器控件输出流中。在这个阶段可以直接写HTML标记,也可以调用每个控件都有的RenderControl方法到输出流。在WebControl基类中,以Render开头的呈现方法有如下几个:
Ø RenderControl(HtmlTextWriter writer)
Ø Render(HtmlTextWriter writer)
Ø RenderBeginTag(HtmlTextWriter writer)
Ø RenderContents(HtmlTextWriter output)
Ø RenderEndTag(HtmlTextWriter writer)
以上几个Render方法并不是毫无联系的,它们的执行顺序是从上往下,并且有嵌套的调用关系。其中在RenderControl方法内部会调用Render方法,在Render方法内部会依次调用RenderBeginTag, RenderContents和RenderEndTag。
其中RenderControl和Render是Control基类中的方法,因为WebControl本身也是继承Control的。一般在开发基本控件时,我们只需重写RenderContents方法即可,在此方法中可以把控件HTML文本标记和其他内容写到输出流中。
另外,还有两个可以重载的方法 RenderBeginTag和RenderEndTag。这两个方法执行时刻点是分别在Render控件内容之前和之后。可以重写这两个方法自己定义控件的起始和结束标记。默认情况下控件是以<Span></Span>作为起始和结束标记的,
- Render RenderContents RenderControl 三个方法的区别
- 转:Render RenderContents RenderControl 三个方法的区别
- RenderContents和Render区别
- CreateChildControls、EnsureChildControls、RenderControl、Render、RenderChildren
- React.render和reactDom.render的区别
- React.render和reactDom.render的区别
- React.render和reactDom.render的区别
- app.render和res.render的区别
- Django的render方法
- 使用控件的RenderControl()方法导出Excel
- 使用控件的RenderControl()方法导出Excel
- 使用控件的RenderControl()方法导出Excel
- OnPreRender与Render的区别
- render 与 redirect_to 的区别
- render与redirect_to的区别
- shade 和 render的区别
- render与render_to_response的区别
- Jfinal的render 系列方法
- 阿里巴巴2016校园招聘 前端开发工程师(一)
- S标签
- swift之extension探究
- 【源码】String
- VGGNet网络模型
- Render RenderContents RenderControl 三个方法的区别
- RabbitMQ基础概念详细介绍
- Docker技术剖析--docker网络配置(二)
- linux 从一台机器复制文件到另一台linux机器上去
- 【2013南京现场赛】1002 hdu4803 Poor Warehouse Keeper 贪心
- 解决Android studio开发找不到HttpClient问题
- mybatis的流程
- SQL Server 索引重建或重组
- ListView中的条目长按点击事件的实现