私のコントローラの構造を反映するために私のASP.NET MVC5ビュー構造が必要です。私のアプリケーションのコントローラの構造に基づいたMVCカスタムビュールーティング
コントローラは、以下の構造を有する:
Controllers
|--- Main
| |--- HomeController.cs
|--- User
| |--- HomeController.cs
| |--- SettingsController.cs
|--- Admin
| |--- HomeController.cs
| |--- ManageController.cs
コントローラ構造は、ユーザーのタイプに基づいて、およびMain
コントローラは、すべてのユーザーがアクセスしていますさ。私のURLは、このようなものです:
/Main/Home
(デフォルト)/User/Settings
/Admin/Manage/Users
しかし、あなたが見ることができるように、すべての名前空間はHomeController
がありますが、私は、たとえば、作成したいときUser/HomeController
のインデックスビューは、Views/Home/Index.cshtml
の内部に配置されます。しかし、私は実際にはここに来るためには、このビューが必要です:Views/User/Home/Index.cshtml
。ビューの構造化が必要な構造の例を以下に示します。
Views
|--- Main
| |--- Home
| | |--- Index.cshtml
| | |--- Contact.cshtml
|--- User
| |--- Home
| | |--- Index.cshtml
| |--- Settings
| | |--- Index.cshtml
|--- Admin
| |--- Home
| | |--- Index.cshtml
| |--- Manage
| | |--- Index.cshtml
| | |--- Users.cshtml
私は、カスタムRazorViewEngine
を使用してみましたが、私は見つけることができるすべての例(like this oneは)私の状況では動作しません。カスタムルーティングでこの特定の構造を実現する方法はありますか?
の領域が問題の良い解決策になります。あなたはgoogleでたくさんの保持的なリンクを得ることができます。 –