0

一直在尝试解决这个问题。它是 MVC4 C#

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

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

任何想法都非常感谢!

4

1 回答 1

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 版本。您可以在那里指定不同的外观和感觉以获得您想要的效果。

于 2013-07-02T08:27:30.677 回答