2012-02-15 71 views
2

现在已经成为我现有项目对不同客户需要不同“主题”的要求。我从来没有必要在ASP.NET MVC项目上这样做,并且它看起来并不像ASP.NET Theming和MVC一起很好。ASP.NET MVC主题最佳实践?

我会说,75%的CSS将保持不变,其余的可改变。它不必能够即时切换,因为它们将作为单独的网站部署(可能位于不同的服务器上)。

想知道是否有这样的事情的首选方法?我正在考虑将基础CSS与单独的“特定于客户端”的基础CSS进行重写规则。然后可以在web.config中设置客户端css名称并将其带入主页面进行声明。

我在正确的轨道吗?

+1

可能重复的[Asp.Net MVC主题,如何?](http://stackoverflow.com/questions/769878/asp-net-mvc-themes-how-to) - 除此之外,我认为CSS为你描述的是要走的路。 – marapet 2012-02-15 13:01:25

回答

3

我们这样做,采用与您所描述的类似的方法。基础CSS总是被加载,并且取决于客户端应用CSS覆盖。

区别在于我们不使用appSetting,尽管可以。我们所有的客户都在同一台服务器上,所以我们使用cookie进行管理。当用户登录时,我们将@符号放在他们的电子邮件地址后面,并设置与客户端ID相对应的cookie。我们的CSS覆盖位于与客户端ID同名的文件夹中。

然后,我们有一个子动作,它根据cookie值在头部显示额外的CSS覆盖。