Created
September 22, 2020 15:25
-
-
Save smailliwcs/e021b3ff6fe75348fc118ead72c40061 to your computer and use it in GitHub Desktop.
Programmatic view rendering
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.IO; | |
using System.Web.Mvc; | |
public class ControllerBase : Controller | |
{ | |
protected string RenderResult(ViewEngineResult result, object model) | |
{ | |
ViewData.Model = model; | |
using (StringWriter writer = new StringWriter()) | |
{ | |
ViewContext viewContext = new ViewContext(ControllerContext, result.View, ViewData, TempData, writer); | |
result.View.Render(viewContext, writer); | |
result.ViewEngine.ReleaseView(ControllerContext, result.View); | |
return writer.ToString(); | |
} | |
} | |
protected string RenderPartialView(string viewName, object model) | |
{ | |
return RenderResult(ViewEngines.Engines.FindPartialView(ControllerContext, viewName), model); | |
} | |
protected string RenderView(string viewName, string masterName, object model) | |
{ | |
return RenderResult(ViewEngines.Engines.FindView(ControllerContext, viewName, masterName), model); | |
} | |
protected string RenderView(string viewName, object model) | |
{ | |
return RenderView(viewName, null, model); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment