RenderControl (asp.net)

RenderControl (asp.net)当要把一个控件的html代码包括内容输出时(比如导出word或excel或直接输出来,或通过httpxmlrequest返回)就要使用控件的rendcontrol()方法,比如gridview  :         System.IO.StringWriteroStringWriter=newSystem.IO.StringWriter();        System.Web.UI.Ht…

大家好,又见面了,我是你们的朋友全栈君。

当要把一个控件的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())输出。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162039.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月20日 下午5:46
下一篇 2022年7月20日 下午5:46


相关推荐

  • 利用Java+DOS批处理实现网站刷流量

    利用Java+DOS批处理实现网站刷流量最近开了个小店,木流量更木信誉,虽然东西已经便宜到要低于进价了。在不断向广大亲朋好友推荐的同时,想身为程序猿的我应该要做些什么,于是想到能否编程刷流量,网上一大堆刷流量的软件不敢用,搞不好店就得关门,还是自己解决吧。刷流量需要解决两个题,一是怎样访问算流量;二是怎样获取多个IP来访问,因为大家知道像淘宝这样的大型商城肯定是有各种防刷机制,一个IP肯定刷不了多少,搞不好就被封了,况且一个IP刷只能…

    2026年4月18日
    4
  • Spring的AOP实现原理

    Spring的AOP实现原理本学习笔记将尽可能的将AOP的知识讲解的通俗易懂,先从一个典型的问题出发,引入AOP这个概念,介绍AOP的基本概念,再到Spring中的AOP的实现方案,最后进行一个简单的总结归纳。本学习笔记中不考虑cglib、也不会太关注SpringAOP如何使用,而是尽可能的简单的说清楚AOP的工作原理。笔记中贴出的源代码均是Spring5.1.7-RELEASE版本问题提出如下代码块,现在需要统计这个方法执行的耗时情况publicvoidrunTask(){doSome

    2026年1月16日
    4
  • bat命令 延迟执行

    bat命令 延迟执行1 使用 WScirpt 的 sleep 功能 精度 0 001 秒创建 vbs 延迟文件 然后在批处理文件中调用 使用 WScript 的 sleep 函数 实现 sleep 的效果 实战 1 创建文件 sleep vbs sleep vbs 内容如下 WScript sleep5000 2 调用 vbsstart waitsleep vbs1 使用 choice 命令 choice t10 cyn n dn m 10 秒后打开 CHOICE Cchoices

    2025年12月7日
    9
  • C++ huffman数据压缩算法实现(附源码)

    C++ huffman数据压缩算法实现(附源码)什么是 Huffman 压缩 Huffman 哈夫曼 算法在上世纪五十年代初提出来了 它是一种无损压缩方法 在压缩过程中不会丢失信息熵 并且能够证明 Huffman 算法在无损压缩算法中是最优的 Huffman 原理简单 实现起来也不困难 在如今的主流压缩软件得到了广泛的应用 相应用程序 重要资料等绝对不同意信息丢失的压缩场合 Huffman 算法是非常好的选择 怎么实现 Huffman 压缩 哈夫曼压缩是个无损的压缩算法 一般用来压缩文本和程序文件 哈夫曼压缩属于

    2026年3月17日
    2
  • laravel5.4 发送SMTP邮件

    laravel5.4 发送SMTP邮件

    2021年10月24日
    42
  • 怎么用 LangGraph 创建属于你自己的 AI 智能体

    怎么用 LangGraph 创建属于你自己的 AI 智能体

    2026年3月14日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号