2011-11-24 15 views
1

私はasp.net MVCとカミソリを初めて使っていますが、複数のクライアントが同じURLとドメインでアクセスできるWebアプリケーションを構築しようとしています。アイデアは、各クライアントに異なるテーマを提供することです。 テーマ名は、ユーザーが自分のサイトに着陸したときにログインするか、クエリ文字列で渡された後、ユーザー情報に格納できます。 これらのクライアントの中には、ヘッダーとフッターのレイアウトが異なるものがありますので、CSSベースのソリューションでは不十分だと思います。 私はMVC 3を使用しています。 これを達成するには、正しい方向で私を指摘できますか? webformで見た例として、カスタムビューエンジンを作成することを考えています。これには何が関係していますか?より良い方法がありますか?マルチテーマfor MVC Razor

お祝いいただきありがとうございます。

答えて

1

クライアントごとに個別のレイアウトページを作成し、_ViewStart.cshtmlで適切なレイアウトを選択します。

+0

私は賞金を与えました。これは、私が探していたものにもっと似ていて、もっとシンプルです。 – kurry

0

Controller.Viewは、アクションから特定のマスターレイアウトを指定することができますオーバーロードがあります。

return View(string viewName, string masterName); 

それだけで、ユーザーに応じて、異なるマスターページを使用するのと同じくらい簡単だのであれば、これは悪いことではありませんアプローチ。

+1

コントローラ全体に渡すことは非常に悪い考えです。 – SLaks

+0

あなた自身のベースコントローラーでロジックを包む方が良い。 –