N2 CMS 和 MVC 3 RC 导致“当前请求操作‘索引’”在控制器上...不明确...
我已经使用 N2 CMS 一段时间了,我刚刚更新为使用 MVC 3 RC,现在我在每个页面上都收到此错误:
当前请求操作“index” 在控制器类型“HomeController”上是 以下动作之间有歧义 方法:System.Web.Mvc.ActionResult 类型上的 Index() Project.Web.Controllers.N2Controller
1[[Project.Web.Models.HomePage, 项目.Web,版本=1.0.0.0, 文化=中立,PublicKeyToken=null]] System.Web.Mvc.ActionResult 索引() 上 类型 N2.Web.Mvc.ContentController
1[[Project.Web.Models.HomePage, 项目.Web,版本=1.0.0.0, Culture=neutral, PublicKeyToken=null]]
只是为了解释我有一个 HomeController,它继承自 N2Controller<主页>、N2Controller< T>继承自 N2.Web.Mvc.ContentController< T>。
每个控制器、Home、Account 等都没有 Index 方法,因为 ContentController 已经有一个方法。
这一切在 MVC 2 中都工作得非常好,但在 MVC 3 RC 中它会抛出这个错误。
有人有什么想法吗?我在网上找不到任何东西...
干杯, 灰。
I've used N2 CMS for a while now, I've just updated to use MVC 3 RC and I'm now recieving this error on every page:
The current request for action 'index'
on controller type 'HomeController' is
ambiguous between the following action
methods: System.Web.Mvc.ActionResult
Index() on type
Project.Web.Controllers.N2Controller1[[Project.Web.Models.HomePage,
1[[Project.Web.Models.HomePage,
Project.Web, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null]]
System.Web.Mvc.ActionResult Index() on
type
N2.Web.Mvc.ContentController
Project.Web, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null]]
Just to explain I have a HomeController, that inherits from N2Controller< HomePage >, N2Controller< T > inherits from N2.Web.Mvc.ContentController< T >.
Each controller, Home, Account etc don't have Index methods because the ContentController already has one.
This all worked absolutely fine with MVC 2, but with MVC 3 RC it's throwing this error.
Any ideas anyone? I can't find anything online...
Cheers,
Ash.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这听起来像 N2Controller 有一个
Index
方法,应设置为 覆盖 ContentController 中的Index
方法。在控制器上解析操作方法的方式必须在 MVC2 和 3 之间发生变化,以考虑继承层次结构,从而导致此问题。
This sounds like N2Controller has an
Index
method which should be set to override theIndex
method in ContentController.The way an action method is resolved on a controller must have changed between MVC2 and 3 to take into account the inheritance hierarchy, causing this problem.