【发布时间】:2018-12-31 22:25:28
【问题描述】:
我创建了一个带有按钮发送的 aspx 页面。 在该按钮上单击后面的功能代码继续。 我想要的是,当我单击按钮以在变量中获取所有 html 源代码呈现的 aspx 页面时,我可以将其发送到邮件中。我怎样才能得到渲染的html 函数背后代码的源代码。
【问题讨论】:
我创建了一个带有按钮发送的 aspx 页面。 在该按钮上单击后面的功能代码继续。 我想要的是,当我单击按钮以在变量中获取所有 html 源代码呈现的 aspx 页面时,我可以将其发送到邮件中。我怎样才能得到渲染的html 函数背后代码的源代码。
【问题讨论】:
实际上,我不久前刚刚为此编写了一个方法。它以提供的相对路径获取视图,传入提供的模型,并将视图呈现为字符串。
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();
}
您可能需要添加一些 using 语句。
【讨论】: