N2 CMS和MVC 3 RC导致“控制器上当前的操作请求'索引'......含糊不清......”

时间:2011-01-13 09:16:17

标签: asp.net-mvc content-management-system asp.net-mvc-3 n2 n2cms

我已经使用了N2 CMS一段时间了,我刚刚更新为使用MVC 3 RC而且我现在在每一页上都收到了这个错误:

  

当前的行动请求'索引'   控制器类型'HomeController'是   以下动作之间存在歧义   方法:System.Web.Mvc.ActionResult   索引()类型   Project.Web.Controllers.N2Controller 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 1 [[Project.Web.Models.HomePage,   Project.Web,版本= 1.0.0.0,   Culture = neutral,PublicKeyToken = null]]

只是为了解释我有一个HomeController,它继承自N2Controller< HomePage>,N2Controller< T>继承自N2.Web.Mvc.ContentController< T>。

每个控制器,Home,Account等都没有Index方法,因为ContentController已经有一个。

这一切对MVC 2都很好,但是对于MVC 3 RC,它会抛出这个错误。

任何想法?我在网上找不到任何东西......

干杯, 灰分。

1 个答案:

答案 0 :(得分:1)

这听起来像N2Controller有一个Index方法,应该在ContentController中将Index方法设置为override

在控制器上解析操作方法的方式必须在MVC2和3之间进行更改,以考虑继承层次结构,从而导致此问题。