|M| 谁帮我注释一下幕白兄写的一段代码 谢谢
WebControl c = (WebControl)this.Controls[1];
//得到this中的第二个控件
System.IO.StringWriter sw = new System.IO.StringWriter();
//??
HtmlTextWriter wt = new HtmlTextWriter(sw);
//??
c.RenderControl(wt);
//??
writer.Write(sw.ToString().Replace( "display:none; ", " "));
//??
wt.Close();
sw.Close();
------解决方案--------------------1.实现一个TextWriter,使其以一种特定的编码向流中写入字符
2.将标记字符和文本写入到ASP.NET 服务器控件输出流
3.将服务器控件的内容输出到所提供的HtmlTextWriter 对象中
4.取或设置接收跟踪或调试输出的文本编写器
------解决方案-------------------- 你主要查一下c.RenderControl(wt);中 RenderControl 的用法你应该就知道了他这么做是什么用意
------解决方案--------------------这个访问是重写这个控件的RenderChildContrl事件.
这个控件有两个子控件.
因为第一个控件生成的html,里面的style有display:none
所以我先构建一个 HtmlTextWriter 得到这个控件输出的html代码,然后替换掉.
写到父控件的HtmlTextWriter 中去,第二个直接写.