使用ASP.NET Core API返回视图

Chr*_* J. 3 c# asp.net-core-mvc asp.net-core

我正在编写一个ASP.NET核心API,我想知道如何在Controller中返回一个View.目标是在此页面上提供文档.我试过的是创建一个Controller类,它返回一个ViewResult,如下所示:

[Route("api/[controller]")]
public class HomeController : Controller
{

    [HttpGet]
    public IActionResult Get()
    {
        return View();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,我在View/Home存储库中创建了一个名为Index.cshtml的简单视图.当我使用/ api/home启动应用程序时,它确实返回内部服务器错误(在浏览器的JS控制台中记录).虽然,如果我像这样返回一个随机的ObjectResult:

[HttpGet]
    public IActionResult Get()
    {
        return new ObjectResult(new {bonjour = 1});
    }
Run Code Online (Sandbox Code Playgroud)

它确实返回了正确的数据模型.

有没有人知道如何使用ASP.NET Core API Tools返回View?

Mkr*_*yan 11

您需要指定视图的完整路径,因为您的操作名称Get不是Index

试试这个

[HttpGet]
public IActionResult Get()
{
    return View("~/Views/Home/Index.cshtml");
}
Run Code Online (Sandbox Code Playgroud)