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

马龙·费尔南多(Marlon Fernando)

我有一个需要自定义的网站,这意味着我需要根据用户选择的选项来更改页面的主题。我需要知道如何根据用户选择更改通过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文件后,它将根据该用户重定向到页面,具体取决于用户使用if条件进行的选择,我想这个主意是不可能的。

请让我知道执行此操作的最佳方法,因为我需要尽快在我的网站中实施此解决方案。

斯托涅夫

您可以使用一个查询字符串参数来设置whichStyleFlavor

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

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

或者,您可以通过切换CSS标签在客户端上执行此操作。

这里

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章