对于ASP.NET MVC应用程序,我有2个名称为Home
的控制器。控制器之一在Areas
节中,一个不在。如果有人使用基本路径/
,则我尝试默认使用Areas
部分中的控制器。我认为这是可能的。我有以下设置,我相信应该可以实现:
当我转到/
时,我仍被带到MVCArea01/Controllers/
而不是MVCArea01/Areas/Admin/Controllers/
的控制器中。
(如果图像中的代码太小而看不到,这是方法RegisterRoutes的代码)
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new[] {"MVCAreas01.Areas.Admin.Controllers"} // I believe this code should cause "/" to go to the Areas section by default
);
}
什么是正确的解决方案?
最佳答案
@ABogus
我修改了AdminAreaRegistration.cs文件。请参考下图
我也修改了Route.config如下。
我得到这样的输出
您可以从https://www.dropbox.com/s/o8in2389e8aebak/SOMVC.zip下载示例项目。