我如何在MVC中实现两个控制器

本文关键字:两个 控制器 实现 MVC | 更新日期: 2023-09-27 18:10:30

我试图实现ApiController在我的学生控制器,但事情是,我必须实现BaseController也。

当我这样做时,它不起作用

public class StudentController : BaseController, ApiController

我该怎么做?

我如何在MVC中实现两个控制器

让你的BaseController衍生自ApiController

public class BaseController: ApiController
{
...
public class StudentController : BaseController
{
...

如果你想在同一个应用程序中使用WebApi和MVC,你可以使用不同的命名空间。

namespace Applicationrootns.Controllers
{
    public class StudentController : Controller
    {
        ....
    }
}
namespace Applicationrootns.Controllers.Api
{
    public class StudentController : ApiController
    {
       ....
    }
}

现在可以访问

applicaitonbase/student/applicaitonbase/api/student

让你的基控制器首先从ApiController继承,然后从你的学生控制器继承你的基控制器。

public class BaseController : ApiController
public class StudentController : BaseController 

你不能。c#中不允许多重继承。其他答案为您提供了可能的解决方案,但您不能从多个基类派生。c#只允许单一继承链