Вы работаете со страницей Razor, а не с контроллером.В вашем примере вы путаете маршрутизацию Razor Pages с подходом маршрутизации на основе атрибутов, используемым с контроллерами.
Чтобы это работало, вы можете использовать Метод именованного обработчика , который следует засоглашение On[Verb][Handler]
.Вот пример:
public IActionResult OnGetSetEditMode()
{
this.IsEditMode = true;
return Page();
}
Обратите внимание, что я также удалил атрибут HttpGet
выше.
С этим изменением необходимо обновить файл .cshtml, чтобы использовать новый обработчик:
<a asp-page-handler="SetEditMode" class="btn btn-light-green">Edit</a>
Обратите внимание, что в этом случае я также удалил атрибут method
, так как a
элементы инициируют GET
запросов по проекту.