MVC路由配置指定命名空间

在MVC的项目的解决方案中,有一个RouteConfig.cs文件,这是全局默认路由的配置文件。由代码可以看出程序运行的默认页面是命名空间为MvcDemo.Controllers下的HomeControllor下的Index页面。

此时程序运行正常。如果添加一个区域如Admin,并且在此区域下添加一个HomeControllor,再次运行程序提示“

找到多个与名为“Home”的控制器匹配的类型。如果为此请求(“{controller}/{action}/{id}”)提供服务的路由在搜索匹配此请求的控制器时没有指定命名空间,则会发生此情况。如果是这样,请通过调用含有 'namespaces' 参数的 'MapRoute' 方法的重载来注册此路由。

”错误,如下所示:

解决这个问题的方法就是修改RouteConfig.cs文件,添加namespaces: new string[] { "MvcDemo.Controllers" }。

这里需要注意的是当你有多个分区时,请在每个区下的AreaRegistration.cs文件都配置路由,下面以Admin区域为例:

原文地址:https://www.cnblogs.com/zynNote/p/5972379.html