12

新しいMicrosoftasp.netmvc実装は、アプリケーションのパーティション分割をどのように処理しますか?例:

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

私が言おうとしているのは、すべてがビュー/コントローラーフォルダーのルートに入る必要があるように思われることです。これは、Webフォームを使用してビルドすると、多数のフォルダーとサブが含まれる可能性があるプロジェクトで作業するときに扱いにくくなる可能性があります。アプリケーションを分割するフォルダ。

私はMVCモデルを手に入れ、Webフォームと比較してその外観が気に入っていると思いますが、それでも実際に大規模なプロジェクトを構築する方法について頭を悩ませています。

4

4 に答える 4

11

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

この方法は、ASP.NETMVCを使用してポータルのビューを分離するために別の人に与えたアドバイスと一致します。参考までに質問へのリンクを示します。

于 2008-08-25T20:02:29.113 に答える
7

ビューの配置方法に関しては、必要に応じてビューをサブフォルダーに配置し、独自のビュー構造を作成できます。すべてのビューは、~ 構文を使用してフル パスでいつでも参照できます。したがって、Index.aspx を \Views\Feature1\Home に配置すると、~/Views/Feature1/Home/Index.aspx を使用してそのビューを参照できます。

于 2008-08-27T04:41:48.920 に答える
6

他の読者に役立つと思われる 2 つの優れたブログ投稿を次に示します。

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

これは、Haacked が上記で説明したことについて、もう少し詳しく説明しています。

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

これは、サイトを「エリア」にグループ化するための優れた代替手段です。

于 2009-02-24T00:03:11.637 に答える
2

追加情報のscurialをありがとう...そしてここに主題に関するBillyMcCaffertyからの別の良い投稿があります...

http://devlicio.us/blogs/billy_mccafferty/archive/2009/01/22/mvc-quot-areas-quot-as-hierarchical-subfolders-under-views.aspx

于 2009-02-24T10:17:52.550 に答える