Согласно комментарию.
Решением этой проблемы является удаление ключевого слова @page
.
То, что делает @page
, указывает, что это страница бритвы.
Ваша путаница заключается в том, что вы думаете, что Razor Page является тем же синтаксисом Razor.
Расширения файла .cshtml указывают, что файл может иметь синтаксис Razor, это не означает, что это страница Razor.
MVC и Razor Pages следуют другому соглашению об именах, настроены по-разному в файле Startup.cs и будут использовать другую структуру папок.
Например, страница бритвы Index.cshtml
получит свою модель из Index.cshtml.cs
file method Get()
, который возвращает Page(model)
.
Ошибка возникает из-за того, что страница бритвы ничего не ожидает от контроллера, она не предназначена для обслуживания одним из них.