62,268
社区成员
发帖
与我相关
我的任务
分享如果你想只获取body里面的内容,可以直接将body里的所有内容都放到一个带服务器标记的div里面
如:
<body>
<div runat="server" id="strContent">
<!--这个里面放你的源码-->
</div>
</body>
后台:
this.EnableViewState = false;
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
strContent.RenderControl(hw);
string strHtmlBody=tw.ToString();//这里的即时body里面的html源码
上面这种方式比较简单,但是如果要导出整个html里面的内容就会比较麻烦了
必须重写页面的Render方法,在所有控件渲染的时候获取整个页面的源码。
public string strHtml="";
protected override void Render(HtmlTextWriter writer)
{
StringBuilder ee = new StringBuilder();
StringWriter sw = new StringWriter(ee);
HtmlTextWriter hw = new HtmlTextWriter(sw);
base.Render(hw);
strHtml=ee.ToString();//这里的即时body里面的html源码
}