MVC4 - how to render a string?

I am using MVC4 and I want to display my view as a string. Existing answers didn't help me (maybe due to the difference in MVC version).

+3
source share
1 answer

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.

+12
source

Source: https://habr.com/ru/post/955124/


All Articles