2014-09-13 60 views
0

我創建了一個控制器路徑來返回一個css文件,該文件起作用,並返回Response.ContentType = "text/css"控制器路由源的CSS包

現在我試圖把該URL在我的包文件,如:

bundles.Add(new StyleBundle("~/Content/custom").Include(
    "~/CSS/Custom/1" 
)); 

注:/CSS/Custom/1是返回文本/ css文件的路徑。

在我看來,我有:

@Styles.Render("~/Content/custom") 

當我生成項目,將捆綁在我的HTML返回此:

<link href="/Content/custom?v=" rel="stylesheet"/> 

當我查看源文件,這是空的。

我如何得到這個工作?

+0

是否有一個特別的原因,你使用控制器操作的CSS文件? – 2014-09-13 06:58:43

回答

2

不知道爲什麼你會想這樣做

在捆綁過程中,將採取項目的虛擬路徑和檢查,以確保該文件存在於反射考慮看看吧,畢竟。 (下面的代碼)因此,沒有CDN的捆綁絕對需要一個文件,而不是一個應用程序路線。

if ((this.VirtualPathProvider == null) || this.VirtualPathProvider.FileExists(virtualPath)) 
{ 
    base.Add(new BundleItem(virtualPath, transforms)); 
} 

CDN從來沒有擊中這條線,他們採取不同的路徑。

bundles.UseCdn = true; 

bundles.Add(new StyleBundle("~/Content/custom", "/CSS/Custom/1")); 

BundleTable.EnableOptimizations = true; 
0

開箱即用,您只能捆綁物理文件。如果您需要因某種原因動態生成CSS,則可以考慮創建自定義捆綁包。但是如果是我,我會把它作爲一個單獨的下載。