ASP.NET core web api «представление имени не существует в текущем контексте»

#asp.net #rest #asp.net-core #asp.net-web-api

#asp.net #остальное #asp.net-ядро #asp.net-web-api

Вопрос:

Я строю asp.net основной проект веб-api.Я пытаюсь добавить поисковый запрос с помощью следующего кода. Тем не менее, я получаю сообщение об ошибке в «представлении», что «представление имени не существует в текущем контексте».

 //https://localhost:44354/api/comments?searchString=Agree
        [HttpGet("{searchString}")]
        public async Task<IActionResult> Index(string searchString) 
        {
            var comments = from c in _context.Comments
                           select c;

            if (!String.IsNullOrEmpty(searchString))
            {
                comments = comments.Where(s => s.Comments_content.Contains(searchString));
            }
            return View(await comments.ToListAsync());
        } 
 

Ответ №1:

Это api. Вы возвращаете ответ, а не представление. Вместо этого вы должны вернуть это

 return Ok(await comments.ToListAsync());
 

Кроме того, если это был веб-проект, вам необходимо иметь соответствующее представление, Index созданное в вашей папке Views. Например, если имя вашего контроллера Blog . Тогда Index представление должно находиться по этому пути Views/Blog/Index.cshtml