31 lines
1.1 KiB
C#
31 lines
1.1 KiB
C#
using Microsoft.AspNetCore.Mvc.Rendering;
|
|
using Microsoft.AspNetCore.Mvc.ViewEngines;
|
|
using Microsoft.AspNetCore.Mvc.ViewFeatures;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace FSI.BT.IR.Organization.Web;
|
|
|
|
public class Helper
|
|
{
|
|
public static string RenderRazorViewToString(Controller controller, string viewName, object model = null)
|
|
{
|
|
controller.ViewData.Model = model;
|
|
using (var sw = new StringWriter())
|
|
{
|
|
IViewEngine viewEngine = controller.HttpContext.RequestServices.GetService(typeof(ICompositeViewEngine)) as ICompositeViewEngine;
|
|
ViewEngineResult viewResult = viewEngine.FindView(controller.ControllerContext, viewName, false);
|
|
|
|
ViewContext viewContext = new ViewContext(
|
|
controller.ControllerContext,
|
|
viewResult.View,
|
|
controller.ViewData,
|
|
controller.TempData,
|
|
sw,
|
|
new HtmlHelperOptions()
|
|
);
|
|
viewResult.View.RenderAsync(viewContext);
|
|
return sw.GetStringBuilder().ToString();
|
|
}
|
|
}
|
|
}
|