【问题标题】:how to get inner html from current aspx page in code behind如何在后面的代码中从当前的 aspx 页面获取内部 html
【发布时间】:2014-01-29 18:02:17
【问题描述】:

如何在代码隐藏中获取当前 aspx 页面的 innerHtml?当用户单击pdf按钮时,我想使用innerHTML并传递给pdf转换器功能,但我需要当前页面html作为字符串。

【问题讨论】:

    标签: asp.net web-applications


    【解决方案1】:

    我会做一个回发并使用 javascript 来提供当前的 innerHTML

    __doPostBack(**event target**, document.documentElement.innerHTML);
    

    【讨论】:

    • 应该是document.documentElement.innerHTML,而不是document.innerHTML
    【解决方案2】:

    您可以覆盖页面的Render 方法。

    protected override void Render(HtmlTextWriter writer)
    {
         StringBuilder sb = new StringBuilder();
         HtmlTextWriter tw = new HtmlTextWriter(new StringWriter(sb));
         base.Render(tw);
         string innerHtml = sb.ToString();
    }
    

    innerHtml 将包含整个呈现的页面 html 代码。稍微简化的版本。

    【讨论】:

    • @ilyabreev 这个方法确实有效,但是我想在渲染之前捕获内部 html。所以我使用了 __doPostBack 方法。谢谢。
    • 仅供参考,如果你这样做,什么都不会渲染。
    • 当然!这只是关于如何将整个页面呈现捕获到一个字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 2012-03-18
    • 2011-12-11
    相关资源
    最近更新 更多