[英]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.