将HtmlTextWriter的内容转换为字符串

Ton*_*ich 8 .net asp.net htmltextwriter

我有一个第三方工具,使用HtmlTextWriter的RenderBeginTag,RenderEndTag和AddAttribute方法通过代码创建img标记.我希望将生成的HTML转换为字符串.我尝试了这里提到的反射方法,但是我得到一个错误"无法将类型'System.Web.HttpWriter'的对象强制转换为'System.IO.StringWriter'.HtmlTextWriter的InnerWriter类型是HttpWriter类型.

关于如何将输出html复制到字符串中的任何想法?

增加:来自第三方控件的代码

protected override void Render( HtmlTextWriter output )
  {
  .....
  output.AddAttribute( HtmlTextWriterAttribute.Src, src );
  output.RenderBeginTag( HtmlTextWriterTag.Img );
  output.RenderEndTag();
                <-- What is the HTML now? Maybe look in OnPreRenderComplete event?

  }
Run Code Online (Sandbox Code Playgroud)

Bri*_*ins 11

StringWriter w = new StringWriter();
HtmlTextWriter h = new HtmlTextWriter(w);

ctl.RenderControl(h);

return w.ToString();
Run Code Online (Sandbox Code Playgroud)

显然,你必须正确关闭连接.但这大致是这个; 我已经为单元测试做了这个,但我很抱歉,目前我没有确切的代码.

HTH.