如何从代码后面获取html页面的渲染源代码,以便我可以通过邮件发送它

时间:2011-08-09 10:00:56

标签: asp.net html

我用按钮发送创建了一个aspx页面。 在该按钮上单击后面的功能代码继续。 我想要的是当我点击按钮获取变量中aspx页面的所有 html 源代码时,我可以通过邮件发送它。我怎样才能获得渲染的html 来自函数背后的代码的源代码。

1 个答案:

答案 0 :(得分:1)

我实际上刚刚在不久前写了一个方法。它在提供的相对路径下获取视图,传入提供的模型,并将视图呈现为字符串。

public static string RenderViewToString(string relativePathToControl, object viewData)
{
    ViewPage viewPage = new ViewPage() { ViewContext = new ViewContext() };

    viewPage.ViewData = new ViewDataDictionary(viewData);
    viewPage.Controls.Add(viewPage.LoadControl(relativePathToControl));

    StringBuilder sb = new StringBuilder();
    using (StringWriter sw = new StringWriter(sb))
    {
        using (HtmlTextWriter tw = new HtmlTextWriter(sw))
        {
            viewPage.RenderControl(tw);
        }
    }

    return sb.ToString();
}

您可能需要添加一些使用语句。