ASP.NET MVC下面的Controller与Fckeditor.Controllers.HomeController同名的解决办法

本文解决了一个ASP.NET MVC项目中因存在多个HomeController导致的运行时错误问题。通过在Global.asax文件中注册特定的路由并指定命名空间,成功避免了控制器名称冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

问题重现:

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

 

运行报错:

Server Error in '/' Application.

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:
Fckeditor.Controllers.HomeController
MvcApplication2.Controllers.HomeController

 

 

解决办法:

  /Global.asax

ASP.NET MVC Controller与Areas下面的Controller同名的解决办法 - Dragon - everyday happy代码

  public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

         //在Global.asax的MapRoute也加入了这个命名空间  

          routes.MapRoute(
                "Home",
                "{controller}/{action}/{id}",
                new { Controller="Home",Action="index",id=UrlParameter.Optional},
                new string[] { "MvcApplication2.Controllers" }
                );
          
            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "CreateTools", id = UrlParameter.Optional } // Parameter defaults
            );

        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值