Bootstrap5 和其他自定义 CSS 未在 .net core web api 中加载

Posted

技术标签:

【中文标题】Bootstrap5 和其他自定义 CSS 未在 .net core web api 中加载【英文标题】:Bootstrap5 and other custom CSS not loaded in .net core web api 【发布时间】:2021-10-29 22:11:22 【问题描述】:

您好,目前我正在进行一个 api 项目,该项目在本地呈现 cshtml 模板以用于报告目的。 问题是,当使用引导程序的 cdn 链接时,cshtml 会被渲染,但是当在本地使用静态 css 文件时,所有样式都不会应用。 我在网上看了,发现你需要在startup.cs中使用静态文件中间件,但它也不起作用。

这是我的目录的截图:

这是我在配置方法中添加的代码:

app.UseStaticFiles(new StaticFileOptions
        
            FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"StaticFiles")),
            RequestPath = "/StaticFiles"
        );

下面是在 cshtml 文件中加载 css 的代码示例:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>@Model.title</title>
    @*<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-U1DAWAznBHeqEIlVSCgzq+c9gqGAJn5c/t99JyeKa9xxaYpSvHU5awsuZVVFIhvj" crossorigin="anonymous"></script>*@
    <link href="grafana.light.min.css" rel="stylesheet" />
    <link rel="stylesheet" href="bootstrap.min.css"/>
</head>

有没有人能解决这个问题? 亲切的问候

更新:

Directory.GetCurrentDirectory() return the folowing path:

andh 项目所在的文件夹:

出于保密目的,我不得不掩盖文件夹的名称,但我可以证明它是同一个文件夹。

【问题讨论】:

我认为您误读了文档:docs.microsoft.com/en-us/aspnet/core/fundamentals/… 使用 RequestPath 时,您必须使用前缀 (href="~/StaticFiles/bootstrap.min.css") 调用它 @Isitar 感谢您的回答。我也尝试过使用 href="~/StaticFiles/bootstrap.min.css" 但样式仍未呈现。为了更精确,我使用 bootstrap 5 和 .net 5 你能告诉我们你的输出文件夹是什么样的吗?您是否将 staticFiles 文件夹复制到输出?您还可以记录“Directory.GetCurrentDirectory()”的内容吗?我不确定这是否是正确的目录(取决于您的根目录配置) @Isitar 我已更新问题以显示您询问的目录。抱歉,但出于保密问题,我不得不隐藏一些路径,但实际上是相同的路径 【参考方案1】:

我会将这个关闭,因为我认为问题与静态文件无关,而是与我得到的生成的 html 有关。相反,我将发布另一个问题,询问如何在启用 css 和静态文件的情况下从 cshtml 呈现 html 文件。new question

【讨论】:

以上是关于Bootstrap5 和其他自定义 CSS 未在 .net core web api 中加载的主要内容,如果未能解决你的问题,请参考以下文章

Google Maps V3 自定义标记未在 IE 中显示

Xcode 13 快速帮助窗口未在自定义对象上启动

未在 CSS 中定义时如何获取实际渲染的字体?

自定义属性未在样式和主题中解析

Bootstrap 5网格,如何在不同的断点处自定义网格排水沟(不使用实用程序类)?

自定义验证属性未在模型上验证 - WebAPI C# 和 JSON