【发布时间】:2016-09-28 10:12:50
【问题描述】:
我需要我的 ASP.NET MVC5 视图结构来反映我的控制器的结构。
我的应用程序的控制器具有以下结构:
Controllers
|--- Main
| |--- HomeController.cs
|--- User
| |--- HomeController.cs
| |--- SettingsController.cs
|--- Admin
| |--- HomeController.cs
| |--- ManageController.cs
控制器结构基于用户类型,Main 控制器可供所有用户访问。我的网址是这样的:
-
/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) 都不适用于我的情况。有没有办法通过自定义路由来实现这种特定的结构?
【问题讨论】:
-
area 将是解决您问题的好方法。您可以在 google 中获得很多保持性链接。
标签: c# asp.net-mvc model-view-controller url-routing asp.net-mvc-routing