Можно ли сохранить представление MVC Razor в реальный HTML-файл

Мы создаем приложение MVC, которое создает физические HTML-страницы. В настоящее время приложение создает страницы динамически, используя обычный подход MVC/Razor.

Вместо того, чтобы программно воссоздавать вывод в файл, можно ли каким-либо образом захватить результат, созданный бритвой, и сохранить его в файл?

Спасибо большое!


person Julian Dormon    schedule 15.03.2014    source источник


Ответы (1)


вы можете отобразить представление в строку, а затем сохранить строку в файле...

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();
  }
}
person Benoit    schedule 15.03.2014
comment
Извините за задержку. У меня просто не было возможности проверить это до сих пор. Кажется, работает хорошо. Спасибо большое! - person Julian Dormon; 12.04.2014