ASP.Net MVC 4动态加载css文件

时间:2014-01-16 20:51:51

标签: jquery css asp.net-mvc-4

我有一个需要自定义的网站,这意味着我需要根据用户选择的选项更改页面的主题。我需要知道如何根据用户选择更改通过Layout.cshtml呈现的css文件。

这是我的layout.cshtml中的两个css文件

@ Styles.Render(“〜/ Content / style1.css”) - >主题1 @ Styles.Render(“〜/ Content / style2.css”) - >主题2

我已指定两个链接点击以更改我的主页上的css文件(链接1主题1,链接2-主题2),但我不知道如何更改它。

我最初的想法是有两个链接,当链接被按下时,它将被发送到一个控制器,从layout.cshtml中选择适当的css文件后,它将被重定向到该页面,具体取决于用户选择使用如果条件,我想这个想法是不可能的。

请告诉我最好的方法,因为我需要尽快在我的网站上实施此解决方案。

1 个答案:

答案 0 :(得分: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);
}