我有一个需要自定义的网站,这意味着我需要根据用户选择的选项更改页面的主题。我需要知道如何根据用户选择更改通过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文件后,它将被重定向到该页面,具体取决于用户选择使用如果条件,我想这个想法是不可能的。
请告诉我最好的方法,因为我需要尽快在我的网站上实施此解决方案。
答案 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);
}