c# - CSS 不呈现

标签 c# html css asp.net-mvc

当我对 css 文件进行更改时,运行应用程序时不会出现结果(我尝试清理/重建解决方案,但问题相同)。

捆绑配置:

...
bundles.Add(new StyleBundle("~/Content/css").Include(
             "~/Content/Index.css",
             "~/Content/Layout.css",
             "~/Content/Login.css"
             ));

Index.cshtml:

@{
  ViewBag.Title = "Index";
  Layout = "../Shared/_Layout.cshtml";
 }
<head>
    <link href="@Url.Content("~/Content/Index.css")" rel="stylesheet" type="text/css" />
</head>

当我使用 chrome 工具检查时:

enter image description here

在这张图片中,当我更改代码时,css 没有更新。

最佳答案

如果您不希望浏览器使用 CSS 文件的缓存版本,常见的解决方案是在 HTML 文件的 URL 末尾附加一个查询字符串。这是一种缓存清除方法,在您对 CSS 或 JS 静态文件进行大量更改时对开发/测试很有用。

这里有几个快速的方法来实现这一点:

  1. 在 URL 的末尾手动添加一个查询字符串,任何时候您希望浏览器请求新版本的 CSS 文件,只需更改该值即可:

<link href="@(Url.Content("~/Content/Index.css") + "?v=1")" rel="stylesheet" type="text/css" />

  1. 动态添加一个唯一的查询字符串。如果您希望浏览器每次都请求 CSS 文件的新副本,这将非常有用:

<link href="@(<Url.Content("~/Content/Index.css") + DateTime.Now().ToString(yyyyMMddHHmmss))" rel="stylesheet" type="text/css" />

  1. 如果您使用的是 ASP.NET Core,请使用 tag helper ,只有当文件发生变化时,它才会自动附加一个新的版本号。您只需添加一个简单的属性:

<link href="@Url.Content("~/Content/Index.css")" rel="stylesheet" type="text/css" asp-append-version="true" />

关于c# - CSS 不呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55777335/

相关文章:

c# - 如何创建在 Visual Studio 中使用的新语言

javascript - 如何移除侧边栏并将面板置于中心

javascript - 仅当图像 url 存在时,如何在 Vue.js 中显示 <img>?

C# - 为什么需要实例化每个数组元素?

c# - ASP.net 缓存 ASHX 文件服务器端

html - 如何将 div 对齐到 HTML 中另一个 div 的底部?

html - 如果我点击图像图标,图标应该是可点击的,弹出窗口[对话框]应该打开以上传新图像

jquery - 动态加载内容时传单弹出窗口未对齐

c# - Amazon SES 电子邮件地址未验证

javascript - 如何仅在一页中使用 css?