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 中加载的主要内容,如果未能解决你的问题,请参考以下文章