I\'ve created a new MVC6 project and building a new site. The goal is to get the rendered result of a view. I found the following code, but I can\'t get it to work because I
Solution by Martin Tomes works well. My changes: removed serviceProvider and get ICompositeViewEngine in constructor via DI. Constructor looks like:
private readonly ICompositeViewEngine _viewEngine;
public AccountController(
UserManager userManager,
SignInManager signInManager,
IEmailSender emailSender,
ISmsSender smsSender,
ILoggerFactory loggerFactory,
ICompositeViewEngine viewEngine)
{
_userManager = userManager;
_signInManager = signInManager;
_emailSender = emailSender;
_smsSender = smsSender;
_logger = loggerFactory.CreateLogger();
_viewEngine = viewEngine;;
}
and put
ViewEngineResult viewResult = _viewEngine.FindView(ControllerContext, viewName, false);
instead of
var engine = _serviceProvider.GetService(typeof(ICompositeViewEngine)) as ICompositeViewEngine; // Resolver.GetService(typeof(ICompositeViewEngine)) as ICompositeViewEngine;
ViewEngineResult viewResult = engine.FindView(ControllerContext, viewName, false);