.net核心C#代码中的渲染样式或链接元素

时间:2018-11-27 12:40:29

标签: asp.net-core .net-core

.net核心API中有一个方法,该方法使用HTM1到PDF的转换Nuget包从HTML字符串创建PDF文件。要生成PDF,我只需创建一个html字符串,然后将其传递到转换库中的方法中即可。

在.net 4.5中,我可以通过执行以下操作在此HTMl字符串中包含CSS文件(其中变量“ html”是要显示的输入):

htmlToConvert = "<html class='mdzr--svg'><head>" +                            
    HttpUtility.HtmlDecode(Styles.Render("~/Content/css").ToHtmlString()) +
    "</head><body>" + html +
    "</body></html>";

我现在正在尝试在.net核心中做类似的事情,但由于Styles.Render功能不相同,因此我在如何呈现CSS文件方面苦苦挣扎。

我打算将CSS文件放在API的wwwroot中。

关于如何访问它并将其呈现为链接元素的任何建议都很棒。

谢谢!

1 个答案:

答案 0 :(得分:0)

根据the documentation,在ASP.NET Core MVC 2.1中执行此操作的方法是配置WebHost.CreateDefaultBuilder方法以设置项目的根目录(在他们的示例中为当前目录;我相信默认值为全新ASP.NET Core MVC项目中的wwwroot目录):

Program.cs

public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>();
}

然后,将应用程序配置为在启动时使用静态文件:

Startup.cs

public void Configure(IApplicationBuilder app)
{
    app.UseStaticFiles();
}

然后,您可以像在普通HTML文档中一样使用<img><script><link>标签。

可通过上面的文档链接获得更多高级选项。