繁体   English   中英

使用ASP.NET Core API返回视图

[英]Return a view with ASP.NET Core API

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

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

    [HttpGet]
    public IActionResult Get()
    {
        return View();
    }
}

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

[HttpGet]
    public IActionResult Get()
    {
        return new ObjectResult(new {bonjour = 1});
    }

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

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

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

尝试这个

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

我想如果你在课程上定义一个路线,你还需要为任何一个ActionResults做这个,所以尝试添加以下内容:

[HttpGet("nameOfThisRoute")]
[Route("nameOfRoute/Get")]
public IActionResult Get()
{
    return View();
}

所以你的网址将是“api / nameOfRoute / Get”

更多信息: http//www.ryadel.com/en/custom-routing-method-names-in-asp-net-5-mvc-6/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM