ASP.NET MVC Controller与Areas下面的Controller同名的解决办法

问题重现:

   当项目下:Controller/HomeController.cs时,

  人在创建一个域Test,之后在建一个同名的HomeController: Areas/Test/Controller/HomeController.cs

运行报错:

Multiple types were found that match the controller named 'Home'. This can happen if the route that services this request ('{controller}/{action}/{id}/') does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the 'MapRoute' method that takes a 'namespaces' parameter.

The request for 'Home' has found the following matching controllers:
Web.Areas.Test.Controllers.HomeController
Web.Controllers.HomeController 

 解决办法:

  /Areas/Test/TestAreaRegistration.cs

复制代码
代码

context.MapRoute(
                
"Test_default",
                
"Test/{controller}/{action}/{id}/",
                
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
                
new string[] { "Web.Areas.Test.Controllers"}
            );
复制代码

/Global.asax

 routes.MapRoute(
             
"Home"// Route name
             "{controller}/{action}/{id}/"// URL with parameters
             new { controller = "Home", action = "Index", id = UrlParameter.Optional },
                
new string[] { "Web.Controllers"}
          );


 


 

 

 

posted @   Daniel Chow  阅读(1747)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示