Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# mvc razor允许用户选择自己的主题css_C#_Css_Asp.net Mvc_Razor - Fatal编程技术网

C# mvc razor允许用户选择自己的主题css

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

我使用的是MVC/Razor/.Net/C,我希望允许用户更改站点的主题,就像您可以在microsoft windows中更改主题一样

是否有人知道如何,或者,可以为我指出一些好的教程/示例


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已更改,但页面未更改。干杯