我正在将WebForms项目迁移到MVC 5,最终目的是将其迁移到.NET Core 2。
我正在考虑在MVC中使用“区域”功能,并希望拥有一个与非管理员版本(即/ Blog / Index和/ Admin / Blog / Index)具有相同控制器的Admin区域。 / p>
我已经遵循了一些教程,并且在/ Admin /上遇到404错误,我尝试了其他路由值,例如/ Admin / Home /和/ Admin / Home / Index都导致404错误。 / p>
我怀疑我需要为非管理员页面创建另一个区域,以便所有页面都在一个区域内,但是我不确定。
我的文件夹结构如下:
---- Areas
| |
| |---- Admin
| |--- Controllers
| | |---- HomeController
| |--- Views
| |--- Index
|----Controllers
| |----HomeController
|
|----Views
|--- Index
我已经在AdminAreaRegistration.cs和RouteConfig.cs中分配了名称空间,如下所示:
AdminAreaRegistration.cs
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "WebApplication1.Areas.Admin.Controllers" }
);
RouteConfig.cs
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "WebApplication1.Controllers" }
);