mvc动态更改传入主机域上的stylebundle

时间:2013-06-29 15:25:07

标签: c# asp.net-mvc asp.net-mvc-4 dns

现在尝试解决这个问题了。这是MVC4 C#

这个小说: 我需要根据哪个域与服务器联系来更改整个站点布局。

细节: 我最初的想法是,如果有人进入“bobsdiner.com”vs“susansCafe.com”,我将能够在app_start中放置一些逻辑来获取主机名,然后将stylebundle设置为正确的样式表(另外设置_layout视图也很棒)。我发现IIS7不再允许访问app_start中的请求对象。我有点失去了下一步的地方,我可以有一个中央代码部分,而不是为每个控制器更改这个(我有大约15个)。除了这一切,我希望能够使用主机名访问数据库,因为我有一个包含域名和样式表名称的表。

非常感谢任何想法!

1 个答案:

答案 0 :(得分:0)

我会放弃尝试更改样式包并重新使用上下文切换器。

在全局asax的应用程序启动中,您可以执行类似这样的操作

DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("Bobs")
        {
            ContextCondition = ctx => ctx.Request.Url.Host.Contains("bobsdiner")
        });

因此,如果您使用_layout.cshtml使您的网站看起来像susanscafe,然后使用_layout.Bobs.cshtml创建一个bobs diner版本。你可以在那里指定不同的外观以获得你想要的效果。