Por questões de performance, o navegador guarda em cache alguns arquivos vinculados ao HTML. Geralmente são CSSs e JSs. Porém, isso atrapalha quando precisamos alterar um destes arquivos.
Uma técnica que eu utilizo para resolver isso é alterar automaticamente o nome do arquivo chamado para forçar que o navegador baixe-o novamente.
Somente alterando o parâmetro na chamada, o navegador já entende se tratar de um novo arquivo. Mas não vamos fazer isso a cada vez que alterarmos um arquivo. Então, criei uma função que pega a data e hora de criação do arquivo.
Na linha que chama o arquivo CSS/JS, incluí o parâmetro cache e uma chamada para função GetFileModificationDateTime, passando por parâmetro o caminho completo do arquivo.
<link rel="stylesheet" type="text/css" href="../include/style.css?cache=<% =GetFileModificationDateTime("../include/style.css") %>" />
O resultado no HTML será assim:
<link rel="stylesheet" type="text/css" href="../include/style.css?cache=2013-05-13T13:39:35" />
E a função ASP:
<%
Function GetFileModificationDateTime(path)
Dim fs, file
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set file = fs.GetFile(Server.MapPath(path))
getFileModificationDateTime = Year(file.DateLastModified) & "-" & Right("00" & Month(file.DateLastModified),2) & "-" & Right("00" & Day(file.DateLastModified),2) & "T" & Right("00" & Hour(file.DateLastModified),2) & ":" & Right("00" & Minute(file.DateLastModified),2) & ":" & Right("00" & Second(file.DateLastModified),2)
Set file=nothing
Set file=nothing
End Function
%>