C# asp.net mvc区域和主站点具有相同的控制器名称
我已经创建了我的主要前端站点。我已经添加了我的区域并开始在后端工作。这两个部分都进行得很顺利,只是有一件事让我感到不安 我想在这两个区域都有一个家庭控制器,但得到的错误是,我不能有超过一个。我已经学了一些教程,但运气不好。这是我最后一次尝试 我启动了一个新项目,只是为了测试这一点,这是我的注册路由代码:C# asp.net mvc区域和主站点具有相同的控制器名称,c#,asp.net-mvc,asp.net-mvc-routing,C#,Asp.net Mvc,Asp.net Mvc Routing,我已经创建了我的主要前端站点。我已经添加了我的区域并开始在后端工作。这两个部分都进行得很顺利,只是有一件事让我感到不安 我想在这两个区域都有一个家庭控制器,但得到的错误是,我不能有超过一个。我已经学了一些教程,但运气不好。这是我最后一次尝试 我启动了一个新项目,只是为了测试这一点,这是我的注册路由代码: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.ax
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 String[] { "Test.Controllers" }
);
}
我已将此代码放在我的Global.asax.cs文件中?这似乎没有任何帮助。以下是我的实际错误:
“主页”请求已找到以下匹配控制器:
Test.Areas.Portal.Controller.HomeController
测试控制器
任何提示或指点都会很棒!我已经讨论了这里提出的其他问题,但是他们都说要做我已经在做的事情,就是添加我上面所做的功能
控制器路径:
区域-门户-控制器-HomeController.cs
Controllers-HomeController.cs
我认为您需要在默认路径的上方再添加一个MapRoute
routes.MapRoute(.....,"Area/Portal/{controller}/{action}/{id},.....,new string[]{...namespce....});
或者可以查看此帖子尝试在IgnoreRoute行之后立即插入以下内容
AreaRegistration.RegisterAllAreas();
编辑:
我尝试创建一个新项目,并添加一个带有主控制器的新区域。只要运行应用程序,我就能重现您的错误
进行与您相同的代码更改修复了此问题
我建议右键单击系统托盘中的ASP.NET Development server图标并单击退出,然后尝试重新运行应用程序
如果这不能解决问题,仔细检查您在RegisterRoutes方法中指定的名称空间是否与默认控制器的完整名称空间完全匹配。这两个区域中的HomeController是什么意思?我将在上面添加我的文件夹结构,以便您可以看到我在尝试什么。门户HomeController和根HomeController的名称空间是什么?必须我在家的桌面上打开了这个项目,运行了完全相同的代码,它工作了。我尝试重新启动Dev服务器,但在另一台电脑上没有帮助。谢谢你的帮助。