加入收藏 | 设为首页 | 会员中心 | 我要投稿 大庆站长网 (https://www.0459zz.com/)- 科技、智能边缘云、事件网格、云计算、站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC 2预览2:区域重复控制器问题

发布时间:2020-07-21 12:12:16 所属栏目:asp.Net 来源:互联网
导读:我继续奴役MVC 2的事情:领域…… 现在我在主Controllers文件夹和其中一个区域中有两个具有相同名称的控制器(HomeController).两者都有不同的名称空间,所以…理论上应该共存,但它们不会共存. 错误是: The controller name ‘Home’ is ambiguous between the

我继续奴役MVC 2的事情:领域……

现在我在主Controllers文件夹和其中一个区域中有两个具有相同名称的控制器(HomeController).两者都有不同的名称空间,所以…理论上应该共存,但它们不会共存.
错误是:

The controller name ‘Home’ is ambiguous between the following types:

Namespace.HomeController

Namespace.Areas.AreaName.Controllers.HomeController

这与Home控制器无关(特殊的?),但适用于任何区域的任何一对.

如何实现不同区域内同名控制器的共存?

谢谢你的时间 :)

编辑:
在不同的区域中可以使用相同的控制器名称:使用命名空间注册路由可以解决问题(感谢Scott的Allen article).

解决方法

如果具有相同类名的两个控制器位于两个不同的区域,则按预期工作.

在您的情况下,区域中有一个控制器,“默认控制器文件夹”中有一个控制器.你确定这是你想要的吗?您的“默认Controllers文件夹”是否应包含某种共享控制器,例如默认帐户控制器?

这实际上是一个ASP.NET路由问题,而不是命名空间或类名称问题.问题很可能是你有两条路由到模糊的控制器名称;一个通过区域注册注册,一个通过RegisterRoutes中的默认路由注册注册.

另请参阅this post about area ordering.

(编辑:大庆站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读