2011-11-18 70 views
3

我通常在經過css修改後,在master中更改css文件的版本。 然後我必須上傳css文件和主文件。 是否有任何解決方案來更改css版本,而無需上傳master。什麼是更新版本的css文件的最佳解決方案

<link rel="stylesheet" href="<%=ResolveUrl("~/themes/default/style.css?v2") %>" type="text/css"/> 

我使用的是asp.net。

回答

4

看到你不想改變CSS文件本身以外的任何東西,你可以編寫一個自定義的方法,它包裝ResolveURL並以設置的格式(即MMddyyhhmmss)附加最後修改的css文件的日期。只要文件發生變化,這將自動更新。

線沿線的東西:

<link href="<%= VersionCssUrl("~/Styles/Site.css") %>" rel="stylesheet" type="text/css" /> 

C#:

public string VersionCssUrl(string url) 
    { 
     // Get physical path. 
     var path = HttpContext.Current.Server.MapPath(url); 

     return String.Format("{0}?{1}", 
      ResolveUrl(url), 
      File.GetLastWriteTime(path).ToString("MMddyyhhmmss")); 
    } 

或者,它可能是值得探討的部分包括:

+0

我喜歡這個想法。也許只是在你進行構建時才這樣做。 –

相關問題