我想解析当前页面的HTML。在ASP.NET中,我该如何获取当前页面的HTML?
提前感谢。
客户端
在Internet Explorer中:
右键单击浏览器 --> 查看源代码
在Firefox中:
右键单击浏览器 --> 查看页面源代码
服务器端
您可以覆盖页面的渲染方法来捕获服务器端的HTML源代码。
protected override void Render(HtmlTextWriter writer)
{
// setup a TextWriter to capture the markup
TextWriter tw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(tw);
// render the markup into our surrogate TextWriter
base.Render(htw);
// get the captured markup as a string
string pageSource = tw.ToString();
// render the markup into the output stream verbatim
writer.Write(pageSource);
// remove the viewstate field from the captured markup
string viewStateRemoved = Regex.Replace(pageSource,
"<input type=\"hidden\" name=\"__VIEWSTATE\" id=\"__VIEWSTATE\" value=\".*?\" />",
"", RegexOptions.IgnoreCase);
// the page source, without the viewstate field, is in viewStateRemoved
// do what you like with it
}
重写Render方法并使用自己的HtmlWriter调用base.Render。