我有一个具有“核心”版本和“定制”版本的项目。它们是单独的项目。
“定制”从“核心”继承功能,在某些情况下会覆盖方法。
例如:
我有一个看起来像这样的用户模型:
public class User
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
然后,在一个单独的程序集中,
public class User : Core.User
{
public string CustomProperty { get; set; }
}
然后我有一个控制器(在我的“核心”程序集中)
public class UserController : Controller
{
[HttpPost]
public ActionResult SaveUser(User user)
{
}
}
在我的另一个项目中,我有一个继承自 Core.UserController 的 UserController:
public class UserController : Core.UserController
{
[HttpPost]
public ActionResult SaveUser(Custom.User user)
{
}
}
显然,在我的 Global.asax 中,我映射了控制器命名空间
但是,当我点击 SaveUser 方法时,我得到
当前对控制器类型 UserController 的操作 SaveUser 的请求在以下操作方法之间不明确
虽然我理解这个问题,但有什么办法可以解决这个问题吗?
简而言之:
我大部分时间都想使用Core.UserController
方法,但在这种情况下,我需要使用我的SaveUser 方法(因为它需要我的类型)Custom.UserController
Custom.User