问题
We are building an MVC app that creates physical HTML pages. The app currently creates the pages dynamically using the normal MVC/Razor approach.
Rather than re-creating the output programatically to a file, is there anyway to grab the result built by razor and save it to a file?
Thanks so much!
回答1:
you can render the view to string, then save the string in a file ...
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();
}
}
来源:https://stackoverflow.com/questions/22418176/is-it-possible-to-save-an-mvc-razor-view-into-an-actual-html-file