【发布时间】:2016-01-25 14:45:54
【问题描述】:
当我在不同的项目中使用相同的控制器名称时,我遇到了一些问题。 我的主要解决方案是 Web 表单,并且我有两个 MVC 单独的项目(单独的文件夹),问题如果我在第一个项目中有一个控制器,名称为 HomePage 和解决方案 2 中的相同控制器名称,我有一个错误: 找到了多种与名为“主页”的控制器匹配的类型。如果为该请求提供服务的路由 ('{*pathInfo}') 未指定命名空间来搜索与请求匹配的控制器,则可能会发生这种情况。如果是这种情况,请通过调用带有“namespaces”参数的“MapRoute”方法的重载来注册此路由。
对“主页”的请求找到了以下匹配的控制器: Project1.Controllers.HomePageController Project2.Controllers.HomePageController
global.asa 在我添加了两个路线图的网络表单解决方案中,但我仍然有同样的错误。 有什么办法可以解决这个问题吗? 我可以在视图中使用命名空间的操作吗 @Html.Action("index", "HomePage") 谢谢
【问题讨论】:
-
您是如何注册路线的?向我们展示一些代码,以便我们为您提供帮助,谢谢。
-
其中一个 MVC 项目是否引用另一个?路由框架只是从所有可用的命名空间中收集 all 控制器,然后尝试找到匹配的路由。因此,如果一个项目引用另一个项目,是否是不同的项目并不重要。
-
是的,我试过了,但它只走第一条路线,第二条路线有同样的错误
-
两个 MVC 项目之间没有引用,project1 有类似 www.project1.com 的 url,第二个是 www.project2.com,当我添加路由时它只适用于第一个
标签: c# asp.net asp.net-mvc asp.net-mvc-4