У меня есть макет cshtml
, который выглядит так:
@model TaskManager.Models.ViewModels.ProjectRaportViewModel
@{
var name = Model.Project.Name;
<h3>@name</h3>
}
<br />
<4h>Hello World!</4h>
Я хочу вернуть это представление (или любое другое) как string
, но как html
, отображаемое Razor
(так что я думаю, бритва изменит C#
вещи на html
теги и т. Д.).
У меня есть controller
, который выглядит так:
[HttpGet("{projectId}")]
public IActionResult GetRaportFromProject([FromRoute] int projectId)
{
var html = this.pdfService.RenderViewToHtml(projectId);
return this.Content(html, "text/html", Encoding.UTF8);
}
И в pdfService
у меня есть этот метод:
public string RenderViewToHtml(int projectId)
{
this.projectService.GetItem(projectId);
var raportHtml = what to do next?
}
У меня вопрос, как отрендерить cshtml
в html
на Razor
в классе обслуживания, а затем вернуть его как string
из WebApi
конечной точки?