RenderControl (asp.net)
当要把一个控件的html代码包括内容输出时(比如导出word或excel或直接输出来,或通过httpxmlrequest返回)就要使用控件的
rendcontrol()方法,比如gridview :
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
MyGrid.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
页面将建立一个HtmlTextWriter类的实例;在这个实例中封装了相应流,接着页面会把HtmlTextWriter对象传递给RenderControl,RenderControl会检查控件的Visible属性是否为真,如果是真,RenderControl会调用Render方法,而Render方法会去调用RenderContents,RenderContents方法负责将控件的内容呈现到指定的编写器中,如果控件有子控件的话,Render方法又会把HtmlTextWriter传递给RenderChildren方法,RenderChildren方法负责生成控件的子控件。
我们可以这样认为rendercontrol方法先把控件内容输出到htmlTextWriter,又因为ostringwriter跟htmltextwriter有关联,所以内容也就存储在ostringwriter中 继而通过response.write(ostringwriter.tostring())输出。
RenderControl (asp.net)相关推荐
- asp.net中DataGrid利用RenderControl导出Excel的问题
asp.net中DataGrid利用RenderControl导出Excel的问题 问题: "DataGridLinkButton"的控件"DataGrid1_ctl14 ...
- 关于ASP.NET编程中,GridView表格无法执行RenderControl()方法的问题
当GridView表格控件设置了"自动排序"时,其RenderControl()方法运行时会报错.
- 为何asp.net2.0中 rendercontrol 对于有些服务器端的控件会不支持
比如报出 rendercontrol 必须放在具有 runat=server这样的错误 原因: http://topic.csdn.net/t/20051207/21/4444706.html 解决方 ...
- ASP.NET HTTP 运行时
ASP.NET HTTP 运行时 一个请求从 URL 字符串到 HTML 代码的"漫长曲折"之路 Dino Esposito Wintellect 2003年7月10日 摘要:本文 ...
- ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl
第四章 组合控件开发CompositeControl 大家好,今天我们来实现一个自定义的控件,之前我们已经知道了,要开发自定义的控件一般继承三个基 类:Control,WebControl,还有一个就 ...
- HttpApplication事件ASP.NET页面周期
学习吧少年........................... 修改中........... 当一次请求到达IIS 1.http.sys将请求发送到指定的应用程序池. 2.应用程序池再将请求交给池中 ...
- Asp.net中GridView使用详解(引)【转】
Asp.net中GridView使用详解(引) GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList ...
- Asp.Net页面输出到EXCEL
其实,利用ASP.NET输出指定内容的WORD.EXCEL.TXT.HTM等类型的文档很容易的.主要分为三步来完成. 一.定义文档类型.字符编码 Response.Clear(); Response. ...
- 浅谈ASP.NET内部机制(五)
浅谈ASP.NET内部机制(五) 前言:本章要谈页面生命周期了,过程挺多的,但是一点都不难.不信可以看看.我尽量的讲的平实一些,而且理解页面的生命周期对喜欢开发自定义控件和组件的朋友是很有帮助的. 系 ...
最新文章
- javascript时间处理
- Java常用API(五)Math 数学类
- 28335的CPU定时器解析
- JavaFX官方教程(七)之使用FXML创建用户界面
- java高效复制文件并移动_Java 7:复制和移动文件和目录
- pythonwhile循环实例 其和超过10_Python While循环语句
- Golang类型转换模块 - gconv
- Container类型元素累加
- 编码基本功:关于构建(build)号,不懂不要装
- 脚本之家python专题_一个简单的python读写文件脚本
- plc几种常用的编程语言特点
- SDUT 第十届校赛H menhera酱那惨不忍睹的数学 (二分图匹配)
- 链游:不要只争朝夕,要寄望百年
- Go语言编译出错:Compiled binary cannot be executed
- Rockchip开发系列 - 3.Pin-Ctrl 开发指南
- 微生物和微生物组的定义以及发展史
- 【JavaSE】----- Java语言的介绍
- matlab--GUI 如何实现打开图片
- 攻读博士攻略 攻博贴士
- java利用commons-email.jar发送邮件
热门文章
- 【系统篇 / 安装】❀ 02. 制作安装 U 盘 ❀ Windows Server 2016
- 根据iphone3/ios5开发基础教程-录制ios视频基础教程-视频下载专辑/反馈
- 移动Web2.0个人门户兴起
- oracle查询最大并发数,oracle最大并发数查看
- 中兴n909android4.4,Android
- JavaSE入门学习47:Socket网络通信编程(一)
- 移动原生App开发和HTML 5开发,你更看好哪个?
- 囚徒困境——从博弈论的角度解释“美女配丑男”
- 常见的NoSQL数据库四大分类
- aac和pcm的区别是什么?