CSS更改自动应用于本地IIS页面

时间:2014-12-09 18:46:11

标签: css asp.net iis visual-studio-2013

我在本地IIS(不是IIS Express)上托管一个ASP.NET网站,只要我在Visual Studio中保存对.css文件的更改,就会立即在使用该文件的浏览器窗口中显示更改(或者将鼠标悬停在Chrome浏览器上后,不清除缓存并刷新。

为什么会立即显示更改?

在浏览器中打开.css文件本身(不是使用该文件的页面)会显示更预期的结果:在刷新.css文件之前,在Visual Studio中保存文件不会改变我在浏览器中看到的内容。 / p>

2 个答案:

答案 0 :(得分:1)

事实证明,我在Visual Studio中启用了浏览器链接,并使用CSS自动同步。这将在本地计算机上打开一个端口,并使用SignalR每秒与浏览器窗口进行大约400次通信,包括所需的任何CSS更改。

有关详细信息,请参阅以下主题:

答案 1 :(得分:0)

这可能是由于缓存造成的。当你打开css本身时,它从服务器检索一个新副本,但是当你打开一个使用css文件的页面时,css文件被缓存为页面的资源,浏览器只显示缓存的资源直到你强迫它重新加载它们。

我学会解决这个问题的一个技巧是将css文件链接到aspx页面并在链接中包含一个随机查询字符串,这样就会欺骗浏览器认为它是一个新资源并从中重新加载它无论如何,服务器。

像这样:

<link href="../stylesheets/MyCSS.css?<%=DateTime.Now%>" 
      rel="stylesheet" type="text/css" />

我们使用aspx预处理程序指令<%=DateTime.Now%>将当前时间作为查询字符串附加,以确保链接始终不同。

  • 不要忘记css文件名和预处理程序指令之间的问号