web-dev-qa-db-ja.com

Asp.Net MVCテーマ、その方法は?

私はASP.Net 2.0サイトを持っていて、それをMVCパラダイムに翻訳したいと思っています(これは初めてです)が、ゼロから始めています。

私の古いサイトにはいくつかのテーマがありますが、あちこちを読んでいると、テーマがMVCパラダイムにうまく適合しないようです。

質問は:

テーマユーザーのカスタマイズ可能なサイトを構築するためのMVCのベストプラクティスは何ですか?該当する場合、少し例を挙げていただけますか?

注: this は知っていますが、ベストプラクティスや開始方法については触れていません。

ASP.NET MVCで「テーマ」を実装するために使用してきた私のコードは次のとおりです。

ASP.NET MVC:カスタムViewEngineを使用してテーマフォルダーを実装する

CSSファイルをスワップアウトしてテーマを変更できるのは素晴らしいことですが、これは多くの場合、実際にはあまり実用的ではありません。特に、各テーマが完全に異なるレイアウトを持つ必要がある場合。その場合、レンダリングされるCSSとHTMLを変更する必要があります。そのため、上記のリンクにあるコードを記述しました。

26

ASP.NET、RoR、PHPなど、あらゆるWebアプリにテーマを設定するには、CSSが正しく、意味的に正しいHTMLを使用します。

CSSの力の最も良い例は CSS Zen Garden です。

w3schoolsには素敵な CSSの紹介/チュートリアル があります。

各ユーザーは関連するスタイルシートを持つことができ、該当する場合はいつでも選択されます:

<link rel="stylesheet" type="text/css" href="<%= Model.SelectedStyleSheet %>"/>
21

テーマはタグをスタイルアップすることを目的としていたため、CSSを使用して同様のアプローチを作成できます。デフォルトのテーマをcss定義にコピーすることから始めることをお勧めします。

html:<input type="button" />

css:input {color:light-blue}

次に、デフォルト以外のテーマがあったものについては、それらにクラスを適用できます。すべてのテーマをCSSとして書き換えるにはしばらく時間がかかりますが、一度行ってみる価値はあります。

2
Joe Swan

jQuery-ui テーマは素晴らしく、実装するのも難しくありません。

Jsおよびcssファイルにリンクするだけで、アイコンを忘れないでください。また、これらのリンクでは必ずUrl.Content()を使用してください。それ以外の場合は、運用サーバーに展開すると、正しいパスにリンクされない可能性があります(そのトラップに一度陥りました)。

1
Morph