C# mvc razor允许用户选择自己的主题css
我使用的是MVC/Razor/.Net/C,我希望允许用户更改站点的主题,就像您可以在microsoft windows中更改主题一样 是否有人知道如何,或者,可以为我指出一些好的教程/示例C# mvc razor允许用户选择自己的主题css,c#,css,asp.net-mvc,razor,C#,Css,Asp.net Mvc,Razor,我使用的是MVC/Razor/.Net/C,我希望允许用户更改站点的主题,就像您可以在microsoft windows中更改主题一样 是否有人知道如何,或者,可以为我指出一些好的教程/示例 Cheers通常,此功能是通过多个CSS文件实现的,与.NET几乎没有关系 您应该以语义的方式设计HTML,这样通过更改CSS文件,每个应用的CSS的整个输出都是不同的 此链接提供了对主题更具解释性的介绍-> 这样做之后,您需要在应用程序中存储用户对会话或类似会话中的皮肤的偏好,并相应地更改CSS文件 As
Cheers通常,此功能是通过多个CSS文件实现的,与.NET几乎没有关系 您应该以语义的方式设计HTML,这样通过更改CSS文件,每个应用的CSS的整个输出都是不同的 此链接提供了对主题更具解释性的介绍-> 这样做之后,您需要在应用程序中存储用户对会话或类似会话中的皮肤的偏好,并相应地更改CSS文件
Asp.Net WebForms过去有皮肤/主题功能,但我认为它被弃用了。它不是很好,我还看到了一个实现,开发人员使用XML和XSLT文件来呈现视图,这对我来说太复杂了。这是一个非常,非常广泛的问题,有许多正确的方法 您可以创建一个基本控制器,在每个请求期间从数据库加载用户选择的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>
有了MVC,它实际上与.NET有关。这就是重点,我想澄清的是,MVC并没有任何特定的功能来帮助您将主题/多种样式应用到应用程序中。这个问题与技术无关,同样的方法也适用于不同的语言和平台。Cheers@tucaz将遵循提供的链接并采纳您的反馈。我遵循了SiteWizard中的示例,它也能满足我的需要,Cheel。Cheers@Yuck将尝试此方法。我尝试了此方法,但没有成功,viewbag已更改,但页面未更改。干杯