Возможно, у вас была необходимость просто получить готовый 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);
Комментариев нет:
Отправить комментарий