现在尝试解决这个问题了。这是MVC4 C#
这个小说: 我需要根据哪个域与服务器联系来更改整个站点布局。
细节: 我最初的想法是,如果有人进入“bobsdiner.com”vs“susansCafe.com”,我将能够在app_start中放置一些逻辑来获取主机名,然后将stylebundle设置为正确的样式表(另外设置_layout视图也很棒)。我发现IIS7不再允许访问app_start中的请求对象。我有点失去了下一步的地方,我可以有一个中央代码部分,而不是为每个控制器更改这个(我有大约15个)。除了这一切,我希望能够使用主机名访问数据库,因为我有一个包含域名和样式表名称的表。
非常感谢任何想法!
答案 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版本。你可以在那里指定不同的外观以获得你想要的效果。