代码之家  ›  专栏  ›  技术社区  ›  Hemant

调试ASP.NET MVC应用程序期间未更新CSS

  •  20
  • Hemant  · 技术社区  · 15 年前

    我正在开发一个基于ASP.NET MVC的测试应用程序。我是新来的CSS东西,所以我也在学习。

    我创建了一个名为“new.master”的母版页,并创建了一个新的css“new.css”。我从控制器调用视图为:

    return View ("About", "new");
    

    我要做的是经常更新CSS和母版页。所以我经常以调试模式运行应用程序。过了一段时间,我不再看到CSS中更改的效果。当我在Chrome中“查看源代码”并检查CSS时,它会显示一个旧版本。

    当我同时更改主页面和CSS的名称时,我开始接收更新的视图,但这会持续一段时间,然后我又停止获取CSS更新。你面对过这个问题吗?我怎么修?(真烦人!)

    6 回复  |  直到 7 年前
        1
  •  54
  •   blu    15 年前

    您的浏览器正在缓存CSS。如果使用f5强制刷新,将显示任何更改。

        2
  •  11
  •   Sayed Ibrahim Hashimi    15 年前

    我认为这可能是浏览器缓存问题。在IE和FF中,我通常使用ctrl+f5或ctrl+refresh按钮。还可以手动清除缓存。对于IE,你可以使用 IE Dev Toolbar 对于火狐来说 Firebug 使用这两种方法,您可以轻松地清除缓存。对Chrome不太确定,对不起。

    易卜拉欣·哈希米说

    我的书: Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build

        3
  •  2
  •   T W    15 年前

    很有可能CSS被缓存在浏览器中,所以只需清除浏览器缓存,它应该会有所帮助。

        4
  •  2
  •   Rumi P.    10 年前

    我发现了另一个可能发生这种情况的案例。

    我们只使用简单的CSS文件链接启动了应用程序,然后改用绑定。我们更新了旧的 <link href="@Url.Content("~/somePath/someStyle.css")" rel="stylesheet" type="text/css" /> @Styles.Render("~/Styles/bundles/someStyle") .

    我们还使用了一些仅对某些页面需要的样式表,它们有自己的包。现在,对于其中一个,我们忘记将link标记更改为@styles.render语句。

    结果是这个CSS不时更新(所以我们认为一切正常;样式没有丢失),但是当更新发生时我们不能影响。当我开始对文件进行更改时,我意识到我所做的任何事情(清空缓存、重建项目、重新启动cassini)都不会触发更新。浏览器总是 304 Not modified .

    所以,如果你有这些症状,检查你的链接。

        5
  •  0
  •   Grizzly    8 年前

    我也发生了类似的事情。

    然后突然发现包被添加到页面:

    @Styles.Render("/bundles/classifiedDetailCss")
    

    而不是:

    @Styles.Render("~/bundles/classifiedDetailCss")
    

    注意丢失的 ~ 第一个示例中的字符。

    (第一个示例只在构建项目之后起作用,否则即使在调试模式下,它也会返回缓存的版本。)

        6
  •  0
  •   Chris Gong    7 年前

    当我有一个主视图,它将根据用户希望查看的部分视图加载部分视图时,我就发生了这种情况,但是这个页面的答案有帮助, https://forums.asp.net/t/1763494.aspx?applying+CSS+layouts+to+a+partial+view

    必须在HTML文档的中引用CSS。作为一个 结果不能将它们包含在局部视图中…因为 这种情况下,CSS包含在HTML正文中。请按式样点菜 位于局部视图所在页的页眉中的工作表。

    我的部分视图中会有CSS链接,对CSS文件的任何修改都不会发生,即使我在浏览器中按了ctrl-f5。我还尝试清除开发人员工具中的缓存内容。通过查看源样式表,我注意到部分视图链接的CSS文件没有更改,因此我的修复方法是将CSS链接从部分视图移动到将保存这些部分视图的主视图。