私は新しい ASP.NET MVC 領域を扱っており、それをテーマと組み合わせています。領域のないMVCでは、追加してテーマを適用していました
<pages theme="ThemeName" ... > ... </pages>
ViewsフォルダーのWeb.Configに追加すると、完全に機能しました。それぞれに独自の Web.Config を持つ Areas フォルダーができたので、私のテーマは非エリア コントローラーのコントローラーにのみ適用されます (これは完全に理にかなっています)。1 つの Web.Config で既定のテーマを変更したいのですが、すべてのフォルダーを含む唯一のテーマがルートにあるため、Default.aspx ページにアクセスするとエラーが発生します。
編集: ASP.NET MVC 2 では、Web サイトのルートにある Default.aspx ページが削除されたことがわかりました。これにより、ルート Web.Config で問題なくテーマを指定できるようになり、次のような領域に適用されます。フォルダ構造のせいです。
これとは別に、「テーマが必ずしもMVCパラダイムにうまく収まるとは限らない」こともわかりません。MVC の主要な概念は、抽象化レイヤーによる関心の分離です。ビューを 2 つの別個のエンティティ (ユーザー インターフェイスの特定のポイントに表示されるデータと、データのスタイルが適用されるテーマ) に抽象化できない理由がわかりません。
2 つの質問があります。
- このタイプのプロジェクトの単一の Web.Config でテーマを指定することは可能ですか? 【編集で解決しました。】
- テーマが MVC パラダイムにうまく収まらないのはなぜですか?