6

當從束渲染樣式時優化是你得到這樣的:自定義緩存清除在system.web.optimization

<link href="/Content/themes/base/css?v=UM624qf1uFt8dYtiIV9PCmYhsyeewBIwY4Ob0i8OdW81" rel="stylesheet" type="text/css" /> 

不幸的是,Android瀏覽器似乎並不 load urls with query strings他們做。 有什麼方法可以在System.Web.Optimization中自定義此字符串?


編輯:

我的問題是回答,我試圖來檢測用戶代理字符串Android和用樣式表查詢字符串少鏈接取代。顯然我遇到的問題並不是因爲querystring,它是webfont css的縮小版本,導致它不會在Android股票瀏覽器中完全加載樣式表。

Android股票瀏覽器fails to load css content string with escaped backslash這是ASP.NET縮小器的解決方法,它是erronously minifies the same css content string。我最終將圖標字體CSS樣式放在它自己的「手工縮小」樣式表上。

回答

4

我們目前不支持自定義版本字符串如何在url中不幸顯示。

這是問題的一個鏈接,我們的CodePlex網站:Url version issue

在此期間,如果你願意忍受手動rev'ing每次更改包時包的路徑,你可以只避免使用助手,只是有明確的鏈接到你的包,每次你捆的變化,你更新:

<link href="/Content/themes/base/css" rel="stylesheet"> 

或者你可以通過bundle.Cacheability = HttpCacheability.NoCache

在客戶端上禁用緩存
9

您可以通過使用

@{string path = BundleTable.Bundles.ResolveBundleUrl("~/bundle/cssCommon", false);} 
//may apply manual path transformation to remove ?v= anyway 
<link [email protected] rel="stylesheet" type="text/css" /> 

或短形式

<link href="@BundleTable.Bundles.ResolveBundleUrl("~/bundle/cssCustom", false)" 

禁用緩存但你必須緩存有關的問題,而不是Android的WebView中的問題。 另一種可能的方法是使用Microsoft Ajax Minifier