我需要将Razor视图的HTML作为ASP.NET MVC 5应用程序中的字符串。我几乎可以毫无问题地做到这一点,但是视图中有一些由JavaScript创建的HTML元素,它们不是下面代码返回的字符串的一部分:
private string RazorToHtml(string viewName)
{
using (StringWriter sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindView(ControllerContext, viewName, "");
var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
var html = sw.GetStringBuilder().ToString();
return html;
}
}
此方法按名称查找视图,并将Razor呈现为HTML到StringWriter。
这个问题是页面上的任何Javascript都没有被执行。
如何执行脚本然后获取“最终”HTML(包括JS创建的元素)?