This decision helped me and "saved my day."
https://coderwall.com/p/8ie5jg
using System.IO; using System.Web.Mvc; public class RenderRazorViewToString { #region Render public string Render( Controller controller, string viewName, object model ) { controller.ViewData.Model = model; using ( var sw = new StringWriter() ) { var viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName); var viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw); viewResult.View.Render(viewContext, sw); viewResult.ViewEngine.ReleaseView(controller.ControllerContext, viewResult.View); return sw.GetStringBuilder().ToString(); } } #endregion }
Disclaimer: I am NOT an author, I just want to share it to help other people like me.
source share