2008-08-25 14 views
12

どのようにMicrosoftの新しいasp.net MVCの実装は、アプリケーションを分割処理します - 例えば:のasp.net MVC - サブフォルダ

--index.aspx 
--about.aspx 
--contact.aspx 
--/feature1 
--/feature1/subfeature/action 
--/feature2/subfeature/action 

私は私が言うことをしようとしていますどのような推測が、すべてが行かなければならないようだということですviews/controllersフォルダのルートに入れます。これは、Webフォームで構築されている場合にアプリケーションをパーティション化するためのフォルダやサブフォルダがたくさんあるプロジェクトでは扱いにくくなる可能性があります。

私はMVCモデルを手に入れていると思いますが、Webフォームと比べて見た目は気に入っていますが、実際には大きなプロジェクトをどのように構築するのかということに頭を悩ませています。

答えて

11

コントローラの整理に問題はありません。あなたは組織を考慮に入れるためにルートを設定するだけです。あなたがコンベンションを変更したので、あなたが遭遇する問題はコントローラのビューを見つけることです。まだそのための機能は組み込まれていませんが、ActionFilterAttributeとViewLocatorを継承するカスタムビューロケータを使用して自分自身で作業を作成するのは簡単です。次に、コントローラを作成するときに、使用するViewLocatorを指定するだけで、コントローラはビ​​ューの検索方法を知ることができます。必要に応じてコードを投稿することができます。

このメソッドは、ASP.NET MVCを使用しているポータルのビューを別の人に分け与えたことをアドバイスしています。ここにはlink to the questionが参考になります。

7

ビューをどのように配置するかについては、独自のビュー構造を作成したい場合は、サブフォルダにビューを配置することができます。すべてのビューは、〜構文を使用してフルパスで常に参照できます。したがって、Index.aspxを\ Views \ Feature1 \ Homeに配置すると、〜/ Views/Feature1/Home/Index.aspxを使用してそのビューを参照できます。

6

ここで私はそれが他の読者を助けるかもしれない見つけ2件の良いブログの記事です:

http://stephenwalther.com/blog/archive/2008/07/23/asp-net-mvc-tip-24-retrieve-views-from-different-folders.aspx

は、この1つはHaackedは、上記のものについての深いもう少し話しています。

http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx

これはにあなたのサイトをグループ化するための素晴らしい選択肢である「エリア。」追加情報は... scurialそして、ここで対象のビリーMcCaffertyから別の良いポストであるため

関連する問題