加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.net – 将HtmlTextWriter的内容转换为字符串

发布时间:2020-12-15 18:57:54 所属栏目:asp.Net 来源:网络整理
导读:我有一个第三方工具,通过代码使用 HtmlTextWriter的RenderBeginTag,RenderEndTag创建一个img标签. AddAttribute方法.我希望将生成的HTML转换为字符串. 我尝试了 here提到的反射方法但是我得到一个错误“无法将’System.Web.HttpWriter’类型的对象强制转换为
我有一个第三方工具,通过代码使用 HtmlTextWriter的RenderBeginTag,RenderEndTag&创建一个img标签. AddAttribute方法.我希望将生成的HTML转换为字符串.
我尝试了 here提到的反射方法但是我得到一个错误“无法将’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?

  }

解决方法

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

ctl.RenderControl(h);

return w.ToString();

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

HTH.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读