我正在开发基于ASP.NET MVC的测试应用程序。我是CSS新手,所以我也在学习。
我创建了一个名为“new.master”的母版页,并创建了一个新的css“new.css”。我从控制器调用视图:
return View ("About", "new");
我正在做的是我经常更新css和母版页。所以我经常在调试模式下运行应用程序。过了一段时间,我停止看到css变化的影响。当我在chrome中“查看源代码”并检查css时,它会显示旧版本。
当我更改母版页和css的名称时,我开始收到更新的视图,但这种情况有效,但我再次停止获取CSS更新。你遇到过这个问题吗?我该如何解决? (非常讨厌!)
答案 0 :(得分:59)
您的浏览器正在缓存css。如果强制刷新F5,应显示任何更改。
答案 1 :(得分:11)
我认为这可能是浏览器缓存问题。在IE和FF中,我通常按Ctrl + F5或Ctrl + Refresh按钮。您也可以手动清除缓存。对于IE,您可以使用IE Dev Toolbar,对于Firefox,Firebug可以轻松清除缓存。不确定chrome,对不起。
Sayed Ibrahim Hashimi
我的书:Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build
答案 2 :(得分:2)
很可能css正在你的浏览器中缓存,所以只需清理浏览器缓存,它应该有帮助
答案 3 :(得分:2)
我发现了另一种可能发生这种情况的案例。
我们使用CSS文件的纯链接启动了我们的应用程序,然后切换到使用捆绑。我们将旧<link href="@Url.Content("~/somePath/someStyle.css")" rel="stylesheet" type="text/css" />
更新为@Styles.Render("~/Styles/bundles/someStyle")
。
我们还使用一些只有某些页面需要的样式表,并且它们有自己的包。现在,对于其中一个,我们忘记将链接标记更改为@ Styles.Render语句。
结果是这个CSS偶尔得到更新(所以我们认为一切都很好;样式没有丢失),但我们无法影响更新何时发生。当我开始对文件进行更改时,我意识到我所做的一切(清空缓存,重建项目,重新启动Cassini)都会触发更新。浏览器总是有304 Not modified
。
因此,如果您有这些症状,请检查您的链接。
答案 4 :(得分:1)
通过右键单击“检查”进入chroom开发人员面板->然后转到“网络点击”->选中“禁用缓存”复选框(注意:应始终选中该复选框)->按F5刷新页面。
这对我有用,希望对其他有此问题的人有所帮助! :)
答案 5 :(得分:0)
我发生了类似的事情。
然后突然发现捆绑包已添加到页面中:
@Styles.Render("/bundles/classifiedDetailCss")
而不是:
@Styles.Render("~/bundles/classifiedDetailCss")
请注意第一个示例中缺少的~
字符。
(第一个示例仅在构建项目后才起作用,否则即使在调试模式下也会返回缓存版本。)
答案 6 :(得分:0)
当我有一个根据用户想要看到的部分视图加载部分视图的主视图时发生这种情况,但是此页面的答案有帮助,https://forums.asp.net/t/1763494.aspx?applying+CSS+layouts+to+a+partial+view
必须在Html文档中引用CSS。作为一个 结果你不能将它们包含在局部视图中...因为在 这种情况下,css包含在Html主体中。请选择风格 托管部分视图的页面顶部的工作表。
我的部分视图中会有css链接,即使我在浏览器中按下Ctrl-F5,也不会对css文件进行任何修改。我还尝试在开发人员工具中清除缓存内容。我注意到通过查看源样式表,部分视图链接的css文件没有改变,所以我的修复是将css链接从局部视图移动到主视图,这些部分视图将被保存。
答案 7 :(得分:0)
请使用Ctrl + F5刷新浏览器。
即使更改了内容,F5也会为您提供相同的页面,因为它可能会从缓存中加载页面。但是Ctrl-F5会强制刷新缓存,并保证如果更改了内容,您将获得新内容。
希望这会对您有所帮助
谢谢
答案 8 :(得分:0)
这有助于在开发和生产中解决此问题。 使用 asp-append-version="true"