2016-04-18 32 views
-1

我得到'global.css',這是我的'佈局'通過@Url.Content(path_to_css_file)引用。然後我想我的一些觀點來包含他們自己的* .css。哪種方法可以實現這一目標?我試過每個視圖都是<style></style>,但這似乎離最佳解決方案還很遠,不是嗎?Asp.Net MVC剃刀,結合全球和本地* .css

+0

爲您的頁面添加一個頭標籤並將樣式表插入到您的頁面中。 – jbutler483

+0

你收到你的答案了嗎? –

回答

0

我建議您使用ViewBag在佈局頁面之外添加視圖。

添加這樣的事情:

@if (ViewBag.LayoutStyle != null) 
{ 
    <link href="@ViewBag.LayoutStyle" rel="stylesheet"/> 
} 

要將佈局文件global.css中之後,並在您希望您的全局樣式後添加第二個css文件的意見,只需設置ViewBag.LayoutStyle價值的css文件的URL。

這樣你將有機會使用全局css文件,並基於你正在加載的視圖,你可以根據你的視圖加載不同的css文件覆蓋全局css。

-1

最好的方法是使用bundle來引用樣式和腳本。 所以在App_Start文件夾BundleConfig類地址:

bundles.Add(new StyleBundle("~/Content/myglobalcss").Include(
"~/Content/global.css" 
)); 

bundles.Add(new StyleBundle("~/Content/mylocalcss").Include(
"~/Content/local.css" 
)); 

然後在_Layout.cshtml <head>標籤寫入這一行:

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

,並在例如你Index.cshtml視圖中添加此行

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

這將在您的索引視圖中專門呈現local.css。實際上,您可以在每個包中引用多個* .css文件,並根據需要使用它們。