Возможно, у вас была необходимость просто получить готовый HTML вашей страницы для отправки на почту или хранить как отчет и тд.
Как ?
Как пользоваться ?
Передаем название view, которое хотим отрендерить, ControllerContext у вас есть, это свойство в вашем контролере. Последний параметр - ваш класс модель с данными если нужно.
Как ?
public class ViewRenderer
{
public static string RenderView(string viewName, ControllerContext controllerContext, object model)
{
ViewEngineResult view = ViewEngines.Engines.FindView(controllerContext, viewName, null);
controllerContext.Controller.ViewData.Model = model;
using (var writer = new StringWriter())
{
ViewContext context = new ViewContext(
controllerContext,
view.View,
controllerContext.Controller.ViewData,
controllerContext.Controller.TempData,
writer);
view.View.Render(context, writer);
writer.Flush();
return writer.ToString();
}
}
}
Как пользоваться ?
Передаем название view, которое хотим отрендерить, ControllerContext у вас есть, это свойство в вашем контролере. Последний параметр - ваш класс модель с данными если нужно.
string html = ViewRenderer.RenderView("YTDClientReport", ControllerContext, YourViewModelInstance);
Комментариев нет:
Отправить комментарий