2012-12-18 78 views
3

我正在使用MVC/Razor/.Net/C#,我希望允許用戶更改站點的主題,就像您可以在Microsoft Windows中更改主題一樣。mvc razor允許用戶選擇自己的主題css

有誰知道如何,或者,可以指向我的方向一些很好的教程/例子。

乾杯

回答

3

通常這個功能與多個CSS文件實現,具有很少(或沒有用.NET做)。

您應該以語義的方式設計您的HTML,以便通過更改CSS文件,整個輸出與應用的每個CSS都不相同。

這個鏈接給出了一個更說明介紹入主題 - >http://www.thesitewizard.com/css/switch-alternate-css-styles.shtml

之後你這樣做,你需要在你的應用程序做什麼是存儲(什麼皮膚)在會話什麼的用戶偏好像這樣,並相應地更改CSS文件。

Asp.Net WebForms使用皮膚/主題功能,但我認爲它已被棄用(它不是很好),我也看到一個實現,而不是HTML開發人員使用XML和XSLT文件來呈現意見(這也是我的口味太複雜)。

+0

隨着MVC它實際上確實有事情做與.NET。這點很重要。 –

+2

我想明確的是,MVC沒有任何特定的東西可以幫助您將主題/多種樣式應用於您的應用程序。這個問題是技術不可知的,同樣的方法適用於不同的語言和平臺。 – tucaz

+0

Cheers @tucaz將會遵循所提供的鏈接並接受您的反饋。 – Tappies

4

這是一個非常非常寬泛的問題,有很多正確的方法。

您可以創建一個基本控制器,用於在每次請求期間從數據庫加載用戶所選的CSS主題名稱。然後,你可以把這個值放到ViewBag(或ViewData),並在您的視圖中引用它:

<head> 
    @{ 
    var themeName = ViewBag.ThemeName; 
    } 
    @if (String.IsNullOrWhiteSpace(themeName)) { 
    themeName = "default"; 
    } 
    <link href="@Url.Content(String.Format("~/themes/{0}.css", themeName))" type="text/stylesheet" /> 
</head> 
+0

乾杯@Yuck會嘗試一下。 – Tappies

+0

我試了一下,但沒有成功,viewbag改變了,但頁面沒有改變。乾杯。 – Tappies

相關問題