【发布时间】:2019-06-08 05:09:40
【问题描述】:
我的模拟 cshtml 看起来像这样:
@model TaskManager.Models.ViewModels.ProjectRaportViewModel
@{
var name = Model.Project.Name;
<h3>@name</h3>
}
<br />
<4h>Hello World!</4h>
我想将该视图(或任何)返回为string,但作为Razor 呈现的html(所以我认为,剃须刀会将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?
}
我的问题是,如何在服务类中通过Razor 将cshtml 渲染为html,然后从WebApi 端点将其作为string 返回?
【问题讨论】:
标签: c# asp.net-web-api asp.net-core razor asp.net-core-2.1