Razor 要使用哪个命名空间来获取视图类?

Razor 要使用哪个命名空间来获取视图类?,razor,asp.net-core,view,Razor,Asp.net Core,View,我一开始在我的项目中是一个严格的API,但现在我想呈现一个视图,所以我添加了一个操作,如下所示 [HttpGet("login")] public IActionResult LogIn([FromQuery] string returnUrl) { HttpClient client = new HttpClient(); ... return View("Login"); } 我还在目录视图/帐户中添加了一个名为Login.cshtml的文件(而上面的控制器位于目录控制器中)

我一开始在我的项目中是一个严格的API,但现在我想呈现一个视图,所以我添加了一个操作,如下所示

[HttpGet("login")]
public IActionResult LogIn([FromQuery] string returnUrl)
{
  HttpClient client = new HttpClient();
  ...
  return View("Login");
}
我还在目录视图/帐户中添加了一个名为Login.cshtml的文件(而上面的控制器位于目录控制器中)

问题是这个符号无法解决,计算机说。我知道语法是正确的(如图所示),所以我假设它是一个正在使用的Xxx,将被添加。有趣的是,我还没有找到它的文档,我根本不知道如何将它提供给我的项目

如何解决视图未被识别的问题

我注意到,将继承从(据说没有视图支持)更改为控制器会消除错误,但这似乎是回到预核心时代,并像我们在旧MVC中所做的那样。我错了吗

但这看起来就像回到了前核心时代,就像我们在旧MVC中做的那样

我不明白你想说什么。ASP.NET核心的设计是为了在使用上与经典的ASP.NET MVC非常接近,这样你就不需要在迁移时更改所有内容。另外,因为以前的使用还不错。所以,仅仅因为你做了一些你以前已经做过的事情并不意味着这是件坏事。您仍然在运行一个完全不同的框架

也就是说,如果您想使用MVC视图,您的控制器应该继承自而不是。您也可以直接返回一个instead,但仅继承自
controller
通常更易于使用。请注意,这样做通常没有缺点

如果您担心将MVC视图功能添加到API控制器中,那么您可以使用单独的控制器来实现这一目的