【发布时间】:2014-03-15 00:48:55
【问题描述】:
我们正在构建一个创建物理 HTML 页面的 MVC 应用程序。 该应用当前使用正常的 MVC/Razor 方法动态创建页面。
不是以编程方式将输出重新创建到文件中,而是无论如何都可以获取 razor 构建的结果并将其保存到文件中?
非常感谢!
【问题讨论】:
标签: asp.net-mvc-4 razor razorgenerator
我们正在构建一个创建物理 HTML 页面的 MVC 应用程序。 该应用当前使用正常的 MVC/Razor 方法动态创建页面。
不是以编程方式将输出重新创建到文件中,而是无论如何都可以获取 razor 构建的结果并将其保存到文件中?
非常感谢!
【问题讨论】:
标签: asp.net-mvc-4 razor razorgenerator
您可以将视图呈现为字符串,然后将字符串保存在文件中...
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();
}
}
【讨论】: