2012-02-15 18 views
2

私の既存プロジェクトでは、異なるクライアントに異なるテーマが必要になってきました。私はASP.NET MVCプロジェクトでこれを行う必要はなかったし、ASP.NET ThemingとMVCがうまく連携しているようには見えない。ASP.NET MVC Themingベストプラクティス?

私は、CSSの75%が残りの部分を変更しても変わらないと言います。別のWebサイト(おそらく別のサーバー)として展開されるため、オンザフライで切り替える必要はありません。

このようなことをするための好ましい方法があるかどうかは疑問です。私は、基本的なCSSを別の「クライアント特有のもの」と置き換えて、ルールを上書きすることを考えていました。クライアントのCSS名はweb.configで設定し、宣言のためにマスターページに持ち込むことができます。

私はそこに正しい道を進んでいますか?

+1

[Asp.Net MVCテーマ、どのように?](http://stackoverflow.com/questions/769878/asp-net-mvc-themes-how-to)の可能な複製 - それ以外の私はCSSと思うあなたは説明する方法があります。 – marapet

答えて

3

これは、説明した方法と同様の方法で行います。ベースCSSは常にロードされ、クライアントに応じてCSSオーバーライドが適用されます。

違いは、私たちはappSettingを使用していないということです。すべてのクライアントは同じサーバー上にあるため、Cookieを使用して管理しています。ユーザーがサインインすると、電子メールアドレスの@記号の後ろにある部分を取り出し、クライアントIDに対応するクッキーを設定します。私たちのCSSオーバーライドは、クライアントIDと同じ名前のフォルダにあります。

次に、クッキー値に基づいてheadセクションに追加のCSSオーバーライドをレンダリングする子アクションがあります。

関連する問題