• 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())输出。

  • 相关阅读:
    技术问答集录(二)(RPC和MVC框架&syn,lock区别)
    Zookeeper同一台机器集群部署
    Linux——JDK安装
    VirtualBox CentOs7 设置ssh连接

    ThreadLocal
    关于Centos 7上面的防火墙配置
    windows下使用命令行关闭进程
    强类型 弱类型语言 静态 动态语言
    无法启动此程序 ,因为计算机中丢失MSVCP120.dll
  • 原文地址:https://www.cnblogs.com/zhwl/p/2453283.html
Copyright © 2020-2023  润新知