2014-01-16 132 views
0

我有一個需要定製的網站,這意味着我需要根據用戶選擇的選項更改頁面的主題。我需要知道如何根據用戶選擇更改通過Layout.cshtml呈現的CSS文件。ASP.Net MVC 4動態加載css文件

這是兩個CSS文件在我layout.cshtml

@ Styles.Render( 「〜/內容/ style1.css」) - >主題1 @ Styles.Render(「〜/內容/藍紫魅力.css「) - >主題2

我已經分配了兩個鏈接點擊,以改變我的主頁網頁(鏈接1主題1,鏈接2主題2)的CSS文件,但我不知道如何改變它。

我最初的想法是有兩個環節,當按下鏈接將被髮送到它會根據使用的用戶選擇從layout.cshtml選擇合適的CSS文件之後被重定向到頁面控制器如果條件,我想這個想法是不可能的。

請讓我知道這樣做的最佳方式,因爲我需要在我的網站很快實施此解決方案。

+0

笑,你的意思是這樣的嗎? http://jsfiddle.net/SGHE2/ – SpYk3HH

回答

1

可能您設置whichStyleFlavor查詢字符串參數:

@{ 
    string whichStyleFlavor = "1"; 
    ... some logic to check what they requested and change whichStyleFlavor 
} 

@Styles.Render("~/Content/style" + whichStyleFlavor + ".css") 

或者你還可以在客戶端上,通過切換CSS標籤。

here

<link id="pagestyle" rel="stylesheet" type="text/css" href="default.css"> 
<script type="text/javascript"> 
function swapStyleSheet(sheet){ 
    document.getElementById('pagestyle').setAttribute('href', sheet); 
}