2009-07-16 41 views
15

我正在研究基於ASP.NET MVC的測試應用程序。我是新來的CSS的東西,所以我也學習。調試過程中CSS未更新ASP.NET MVC應用程序

我創建了一個名爲「new.master」的母版頁,並創建了一個新的css「new.css」。我打電話給控制器視圖:

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

我在做什麼是我經常更新CSS和母版頁。所以我經常以調試模式運行應用程序。過了一段時間,我不再看到CSS變化的影響。當我在Chrome瀏覽器中查看源代碼並檢查CSS時,它會顯示一箇舊版本。

當我更改母版頁和css的名稱時,我開始接收更新的視圖,但它有一段時間,然後再次停止獲取CSS更新。你有沒有遇到這個問題?我該如何解決它? (它非常討厭!)

回答

43

您的瀏覽器正在緩存css。如果您強制使用F5刷新應顯示任何更改。

+2

非常感謝。它**解決了我的問題。這就像地獄。我開始質疑我在某個時間點的學習能力。 :) – Hemant 2009-07-16 14:14:59

+1

瀏覽器正在玩我的思維遊戲 - 我添加的文本顯示了,所以我*假設*它清爽,但CSS不是。 F5做到了。 – radarbob 2012-04-27 21:51:38

2

這是非常可能的,CSS是在瀏覽器中被緩存,所以乾脆clearch瀏覽器緩存,它應該幫助

1

我發現在這種可能發生另一起案件。

我們剛剛開始我們的應用程序,只是簡單的鏈接到CSS文件,然後切換到使用捆綁。我們將舊的<link href="@Url.Content("~/somePath/someStyle.css")" rel="stylesheet" type="text/css" />更新爲@Styles.Render("~/Styles/bundles/someStyle")

我們還使用了一些樣式表,這些樣式表僅爲某些頁面需要,並且它們有自己的包。現在,對於其中的一個,我們忘了將鏈接標籤更改爲@ Styles.Render語句。

結果是,這個CSS不時更新(所以我們認爲一切正常;風格不會丟失),但我們無法影響更新何時發生。當我開始對文件進行更改時,我意識到我沒有做什麼(清空緩存,重建項目,重新啓動Cassini)會觸發更新。瀏覽器總是得到304 Not modified

因此,如果您有這些症狀,請檢查您的鏈接。

0

我有類似的事情發生在我身上。

然後突然注意到束添加到頁面:

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

代替:

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

注意,在第一個例子中丟失~字符。

(第一個例子只有建設項目後的工作,否則甚至會在調試模式下返回緩存的版本。)

0

這發生在我身上時,我有一個母版視圖,將局部視圖,這取決於負載用戶希望看到的部分視圖,但本頁的答案有所幫助,https://forums.asp.net/t/1763494.aspx?applying+CSS+layouts+to+a+partial+view

CSS必須在Html文檔中引用。作爲 的後果,您不能將它們包含在局部視圖中...因爲在 這種情況下,CSS將包含在Html正文中。請將 表單樣式放置在承載部分視圖的頁面頭部。

我會在我的部分視圖中的css鏈接,即使我在瀏覽器中按下Ctrl-F5也不會發生對css文件的任何修改。我也嘗試清除開發人員工具中的緩存內容。我注意到通過查看源代碼樣式表,由部分視圖鏈接的css文件沒有發生變化,所以我的修復方法是將css鏈接從部分視圖移動到主視圖中,這些部分視圖將被保存。