【发布时间】:2018-07-15 14:55:33
【问题描述】:
namespace ProjectA.Controllers
public partial class CustomerController : Controller
{
public virtual IActionResult Index()
{
...Some code here
}
public virtual IActionResult Login()
{
...Some code here
}
}
namespace ProjectB.Controllers
public partial class CustomerController : ProjectA.Controllers.CustomerController
{
public override IActionResult Login()
{
...Some code here
}
}
当我尝试像上面那样覆盖时,它给了我下面的错误
AmbiguousActionException:匹配多个动作。 以下操作匹配路由数据并满足所有约束: ProjectA.Controllers.CustomerController.Index (ProjectA) ProjectB.Controllers.CustomerController.Index (ProjectB)
虽然 ProjectB 中没有索引操作。当我将 ProjectB 的控制器名称更改为:
namespace ProjectB.Controllers
public partial class CustomCustomerController : ProjectA.Controllers.CustomerController
{
public override IActionResult Login()
{
...Some code here
}
}
AmbiguousActionException 消失了,但覆盖仍然不起作用。我没有接到覆盖行动的电话。 是不是 .Net 核心不再支持覆盖,因为它在没有 .net 核心且控制器名称相同的情况下就像魅力一样工作。 请帮忙..
【问题讨论】:
标签: c# asp.net-core-mvc