如何通过AngularJS生成的c#页面html检索

如何通过AngularJS生成的c#页面html检索,c#,html,angularjs,webrequest,C#,Html,Angularjs,Webrequest,我需要检索一个页面的HTML代码,该页面使用AngularJS处理一些信息并生成一个图形。我可以使用WebRequest轻松检索html代码,如下例所示,但AngularJS生成的内容(图形)不在页面代码中 WebRequest request = WebRequest.Create("http://localhost:36789/minhaapp#/index"); WebResponse response = request.GetResponse(); Stream data = resp

我需要检索一个页面的HTML代码,该页面使用AngularJS处理一些信息并生成一个图形。我可以使用WebRequest轻松检索html代码,如下例所示,但AngularJS生成的内容(图形)不在页面代码中

WebRequest request = WebRequest.Create("http://localhost:36789/minhaapp#/index");
WebResponse response = request.GetResponse();
Stream data = response.GetResponseStream();
string html = String.Empty;
using (StreamReader sr = new StreamReader(data))
{
    html = sr.ReadToEnd();
}
有人经历过这种情况吗


提前感谢您的支持。

页面加载
方法的末尾,调用此
getHTMLContent()
方法:

public string getHTMLContent()
{
    StringBuilder sb = new StringBuilder();
    StringWriter tw = new StringWriter(sb);
    HtmlTextWriter hw = new HtmlTextWriter(tw);
    panel.RenderControl(hw);
    String html = sb.ToString();
    return html;
}

整个页面包含在名为
Panel
asp:Panel
中。其工作方式来自
RenderControl()
方法,您可以阅读更多有关该方法的内容。简单地说,它获取
asp:Panel
标记(整个页面)中的所有内容,一旦执行
page\u Load
事件后使用,它将获取页面的所有原始HTML。

page\u Load
方法的末尾,调用此
getHTMLContent()
方法:

public string getHTMLContent()
{
    StringBuilder sb = new StringBuilder();
    StringWriter tw = new StringWriter(sb);
    HtmlTextWriter hw = new HtmlTextWriter(tw);
    panel.RenderControl(hw);
    String html = sb.ToString();
    return html;
}

整个页面包含在名为
Panel
asp:Panel
中。其工作方式来自
RenderControl()
方法,您可以阅读更多有关该方法的内容。简单地说,它获取
asp:Panel
标记(整个页面)中的所有内容,一旦执行
page\u Load
事件后使用,它将获取页面的所有原始HTML。

有一个名为PhantomJS的库,它首先将js呈现出站点,然后在呈现后再获取源代码。但是很明显,如果你在做很多网站的话,这也会减慢这个过程。有一个叫做PhantomJS的库,它首先将js从网站上渲染出来,然后你可以在渲染后获得源代码。但是,如果你在做大量的网站,显然这也会减慢这个过程,因为HTML、CSS和Js必须像在web浏览器中一样进行解释……如果可能的话,我建议你从JSON/XML端点加载数据。使用
System.Windows.Forms.WebBrowser
,让它加载站点,然后最终从webbrowser获取html。@carlos lemos,你找到了相关的东西吗,我也遇到了这个问题。因为html,CSS和Js必须像web浏览器中的软件一样进行解释……如果可能的话,我建议您从JSON/XML端点加载数据。使用
System.Windows.Forms.WebBrowser
,让它加载站点,然后最终从WebBrowser获取html。@carlos lemos,您是否找到相关内容,我也遇到了这个问题。