转:Render RenderContents RenderControl 三个方法的区别
每个页面都有一个控件树,代表本页面所拥有的所有子控件,页面控件就是控件树的根,为了生成控件树,页面将建立一个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>作为起始和结束标记的,
出处:http://blog.csdn.net/ChengKing/archive/2009/01/01/3678388.aspx
转:Render RenderContents RenderControl 三个方法的区别相关推荐
- Render RenderContents RenderControl 三个方法的区别
每个页面都有一个控件树,代表本页面所拥有的所有子控件,页面控件就是控件树的根,为了生成控件树,页面将建立一个HtmlTextWriter类的实例,在这个实例中封装了相应流,接着页面会把HtmlText ...
- 线程中断的三个方法的区别(interrupt/isInterrupted/interrupted)
线程中断的三个方法的区别(interrupt/isInterrupted/interrupted)-总结自Java编程之美 方法定义 void interrupt():中断调用该方法的实例线程对象.当 ...
- 在 C# 中,(int) ,Int32.Parse() 和 Convert.toInt32() 三种方法的区别
在 C# 中,(int),Int32.Parse() 和 Convert.toInt32() 三种方法有何区别? int 关键字表示一种整型,是32位的,它的 .NET Framework 类型为 S ...
- js--《js缓存的三种方法及区别与特点》
js缓存的三种方法与特点: ①H5本地存储sessionStrong: sessionStrong:临时的会话储存,只要当前的会话窗口未关闭,存储的信息就不会丢失,即使页面刷新或在编辑器中更改代码,存 ...
- JQ中val(),html(),text()三种方法的区别
JQ中val(),html(),tex()三种方法的区别是内容不一样 text(参数); 有参数是改变他的文本,无值是获取他的文本 var(); 有参数是改变他的val属性,无值是获取他的val属性 ...
- 在matlab中怎样安装dh包,建立DH模型的三种方法以及区别
目录 1.建立DH模型的三种方法 2.SDH和MDH的应用范围 3. SDH和MDH的区别 0.SDH是ZX类变换,MDH是XZ类变换 1.SDH和MDH都是强调把坐标系建立在连杆上 2.举个例子说明 ...
- Excel规划求解Solver:三种方法的区别
Excel Solver作为常用的最优解解决工具,在选择解决方法(solving method)的时候有三种选项,这三种选项有什么区别?什么时候该选择哪种方法?在本文做综合解释 目录 1. GRG N ...
- div显示与隐藏的三种方法及其区别
方法一:设置样式属性opacity /* 隐藏 */opacity: 0;/* 显示 */opacity: 1; 区别:隐藏的时候,位置保留, 元素还在 ,只是不可见. 方法二:设置样式display ...
- 浅谈PHP的Public、Protected、Private三种方法的区别
public:权限是最大的,可以内部调用,实例调用等. protected: 受保护类型,用于本类和继承类调用. private: 私有类型,只有在本类中使用. <?php error_repo ...
最新文章
- Struts2标签库
- java webpack_webpack将对象暴露为全局
- php mysql 内存溢出_关于MySQL的整型数据的内存溢出问题的应对方法_MySQL
- pytorch 之 冻结某层参数,即训练时不更新
- Linux 下 MySQL 启动与关闭 说明
- Google Appengine登台服务器操作方法
- MVC架构 -- 初学试水选课管理系统
- struts-config message-resources配置问题总结
- svn 合并问题 MERGE of '/svn/web': 200 OK (http://xx.xx.xx.xx)
- 从右边开始放_幸福的生活,从入住新房开始,效果很漂亮,忍不住给大家晒晒全屋...
- 20172310 《程序设计与数据结构》实验二报告
- 纯新手DSP编程--5.16--目标和主机设置
- Linux下修改PATH的方法
- linux筛选方式,使用grep实现精确过滤的五种方法
- aardio利用鼠标钩子响应文件拖动过程(一)
- 计算机系统结构模拟试卷3,计算机系统结构全真模拟试卷.pdf
- python3调用arcpy地理加权回归_分析地理加权回归分析结果的操作方法
- 二维码:MP3音频世界的进化
- 使用PS给PDF文件加水印
- 2022年京东618店庆活动优惠力度怎么样?
热门文章
- uni-app —— 小程序加入购物车实现过程
- 虚拟现实技术在神经外科教学中的应用
- Python数码管之十进制转十六进制
- html5 audio设置currentTime
- 解决gd32 延时2s 错误FFFFFFFF DCD 0xFFFFFFFF ; ?Undefined和HardFault_Handler BusFault_Handler
- mrtg监控linux主机的甚至,依赖SNMP的MRTG监控--linux
- 基于Java的手机销售系统
- 【电子学会】2020年09月图形化三级 -- 魔术表演“开花”
- hog特征提取python代码_HOG特征提取
- Excel-VBA:不同Sheet间的列、行复制