gpt4 book ai didi

css - 在 .NET MVC 中实现动态 CSS 的最佳方式

转载 作者:太空宇宙 更新时间:2023-11-04 12:03:03 25 4
gpt4 key购买 nike

我正在尝试使用 2 个不同的主题(基本上是 2 个不同的 CSS)。用户可以选择浅色或深色主题。如果他选择浅色主题,我需要加载浅色主题的 CSS,如果他选择深色主题,我需要加载深色主题的 CSS

我试过了

.NET MVC: How to implement different page appearance per user?

但无法使其正常工作,因为 Url.Action 只是生成链接,它没有从 Action 方法返回结果。

我有一个布局页面,我网站中的所有页面都继承了它,我想以某种方式将其加载到布局页面中。

另一种方法是 http://forums.asp.net/t/1892421.aspx?Dynamic+Themes+in+MVC+Razor

是否可以在 HttpContext.Application["Theme"] 中设置 css

我遇到的另一种方法是在加载页面时使用 javascript 设置 css 文件。

您认为哪种方法更好?

最佳答案

我会在布局页面中使用以下方式。也许我会/可以改进“GetThemeName”方法,以便它返回完整的链接字符串。使布局页面仅包含布局功能而不包含代码。

例如:

@switch (UserSettings.GetThemeName())
{
case "Red":
<link rel="stylesheet" href="/Content/ThemeRed/css/default.css" />
break;
case "Blue":
<link rel="stylesheet" href="/Content/ThemeBlue/css/default.css" />
break;
default:
<link rel="stylesheet" href="/Content/Default/css/default.css" />
break;
}

UserSettings.GetThemeName 是一个公共(public)静态函数,它获取用户当前的“主题名称”或“主题 ID”

关于css - 在 .NET MVC 中实现动态 CSS 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29593762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com