0

少しの間、この問題を解決しようとしています。MVC4 C#です

要旨: どのドメインがサーバーに接続したかに基づいて、サイト全体のレイアウトを変更する必要があります。

詳細: 私の最初の考えは、誰かが "bobsdiner.com" と "susansCafe.com" で入力した場合、app_start にロジックを入れてホスト名を取得し、stylebundle を正しいスタイルシートに設定できるということでした (さらに_layout ビューを設定することも素晴らしいでしょう)。IIS7 では app_start の request オブジェクトへのアクセスが許可されなくなっていることがわかりました。コントローラーごとにこれを変更するのではなく、中央のコードセクションを持つことができる次の場所を少し失っています(約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 を使用してボブス ダイナー バージョンを作成するとします。そこでは、さまざまなルック アンド フィールを指定して、必要な効果を得ることができます。

于 2013-07-02T08:27:30.677 に答える