Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 返回具有ASP.NET核心API的视图_C#_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

C# 返回具有ASP.NET核心API的视图

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(); } } 然后,我在视图/主存储库

我正在编写一个ASP.NET核心API,我想知道如何在控制器中返回视图。目标是在此页面上提供文档。 我尝试创建一个控制器类,返回一个ViewResult,如下所示:

[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框架