C# 返回具有ASP.NET核心API的视图
我正在编写一个ASP.NET核心API,我想知道如何在控制器中返回视图。目标是在此页面上提供文档。 我尝试创建一个控制器类,返回一个ViewResult,如下所示:C# 返回具有ASP.NET核心API的视图,c#,asp.net-core,asp.net-core-mvc,C#,Asp.net Core,Asp.net Core Mvc,我正在编写一个ASP.NET核心API,我想知道如何在控制器中返回视图。目标是在此页面上提供文档。 我尝试创建一个控制器类,返回一个ViewResult,如下所示: [Route("api/[controller]")] public class HomeController : Controller { [HttpGet] public IActionResult Get() { return View(); } } 然后,我在视图/主存储库
[Route("api/[controller]")]
public class HomeController : Controller
{
[HttpGet]
public IActionResult Get()
{
return View();
}
}
然后,我在视图/主存储库中创建了一个名为Index.cshtml的简单视图。
当我使用/api/home启动应用程序时,它确实返回一个内部服务器错误(在浏览器的JS控制台中记录)。尽管如此,如果我返回这样的随机ObjectResult:
[HttpGet]
public IActionResult Get()
{
return new ObjectResult(new {bonjour = 1});
}
它确实返回了正确的数据模型
有人知道如何使用ASP.NET核心API工具返回视图吗?您需要指定视图的完整路径,因为您的操作名称是
Get
而不是Index
试试这个
[HttpGet]
public IActionResult Get()
{
return View("~/Views/Home/Index.cshtml");
}
我认为,如果您在类上定义路由,您还需要对任何ActionResults执行此操作,因此请尝试添加以下内容:
[HttpGet("nameOfThisRoute")]
[Route("nameOfRoute/Get")]
public IActionResult Get()
{
return View();
}
所以您的Url将是“api/nameOfRoute/Get”
更多信息:@ChristopherJ。不客气,请标记为解决方案。是否需要安装一些nuget库,以便它识别视图类?视图是来自控制器的方法。您只需要已嵌入项目模板中的ASP.NET核心包即可:)有关ASP.NET核心的问题,请不要使用和。它们适用于旧的ASP.NET框架