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

oka*_*kay 2 c# model-view-controller asp.net-mvc asp.net-mvc-4

我试图在我的StudentController中实现ApiController,但问题是我还必须实现BaseController.

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

public class StudentController : BaseController, ApiController
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

PSL*_*PSL 5

让你的BaseController衍生出来ApiController.

public class BaseController: ApiController
{
...

public class StudentController : BaseController
{
...
Run Code Online (Sandbox Code Playgroud)

如果要在同一个应用程序中使用WebApi和MVC,可能会使用不同的命名空间.

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

namespace Applicationrootns.Controllers.Api
{
    public class StudentController : ApiController
    {
       ....
    }
}
Run Code Online (Sandbox Code Playgroud)

现在有了这个,你可以访问

applicaitonbase/student/applicaitonbase/api/student