-1

私は新しい 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 つの質問があります。

  1. このタイプのプロジェクトの単一の Web.Config でテーマを指定することは可能ですか? 【編集で解決しました。】
  2. テーマが MVC パラダイムにうまく収まらないのはなぜですか?
4

3 に答える 3

3

Asp.Net テーマは Asp.Net に非常に緊密に統合されているため (多くの特定のフック ポイント: Arnisが言及したプロファイルの作成、<head runat="server">タグの作成など)、MVC で動作させるには、主要な MVC コンポーネント間の配線を作成する必要があります。これは本質的に MVC の目的(関心の分離) に反します。

于 2009-10-17T15:54:32.443 に答える
2

単純。

テーマの管理はプレゼンテーション層に属し、UI関連のものはそれによって排他的に処理される必要があるため、テーマはMVCパラダイムにうまく適合しません。

テーマを操作する場合、コントローラーまたはモデルで何かを表示する方法を指示します(つまり、すべてのユーザーまたは何かのプロファイルを作成します)。これは、前述のパラダイムと矛盾します。

ただし、MVCは宗教ではないことを忘れないでください。

于 2009-10-13T08:59:51.350 に答える
-2

WFVEを捨てます。スパークをインストールします。テーマに関するドキュメントを読んでください。埋め込む。楽しみ。

于 2009-10-20T02:02:39.383 に答える