2011-10-21 23 views
0
<link rel="stylesheet" type="text/css" href="../Content/Dashboard/CustomTooltip.css?v=<%= System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).FileVersion %>" /> 

幾個問題:向CSS文件添加一些自動版本控制。我怎麼會無法拉出組裝信息?

  • 這是要去關於此問題的方法好嗎?這個想法是,當我們的產品組裝信息發生變化時,版本更新,CSS文件的路徑被修改並使緩存失效。
  • 如果我將C#代碼放入監視窗口中,我會看到正確的版本信息,但在.aspx頁面中卻無法加載它。沒有錯誤信息,但它只是說.css?v =沒有版本。

感謝

編輯:好像它是與這回事反射。如果我說:

System.Reflection.Assembly.GetExecutingAssembly().GetName().Name 

我在監視窗口看到正確的名稱,但在.aspx頁面上進行評估時,它是App_Web_35(不正確)。任何想法如何解決這個問題?編輯2:我結束了一個我不太滿意的解決方案,但很想聽聽其他輸入。我只是把:

protected string GetApplicationVersion() 
{ 
    return System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion; 
} 

我的CS相關頁面上 - 然後在代碼behing我叫<%GetApplicationVersion()%>,現在愉快地返回正確的信息。不過,我希望它可以內聯。

回答

1

一個CSS文件是靜態的,就像html一樣。想想創造不同的CSS文件,並調用它

<link rel="stylesheet" type="text/css" href="../Content/Dashboard/CustomTooltip_<%= `System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAsse`m`bly().Location).FileVersion %>.css" />` 

,所以你需要這樣的../Content/Dashboard/CustomTooltip_1.0.css

+1

爲什麼一個CSS文件?我目前只是使用?t = <%DateTime.Now.Ticks%>,這對於在開發過程中完全防止緩存很有效...... –

+0

是的,你可以附加一個隨機數或類似的東西,以確保它沒有被緩存。但我認爲你想不同的CSS文件。 – dknaack

相關問題