10

我们正在构建一个创建物理 HTML 页面的 MVC 应用程序。该应用程序当前使用正常的 MVC/Razor 方法动态创建页面。

不是以编程方式将输出重新创建到文件中,而是无论如何都可以获取 razor 构建的结果并将其保存到文件中?

非常感谢!

4

1 回答 1

14

您可以将视图呈现为字符串,然后将字符串保存在文件中...

public string RenderViewToString(string viewName, object model)
{
  ViewData.Model = model;
  using (var sw = new StringWriter())
  {
    var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
    var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
    viewResult.View.Render(viewContext, sw);
    viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
    return sw.GetStringBuilder().ToString();
  }
}
于 2014-03-15T02:44:00.143 回答