Вообще говоря, когда вы делаете запрос POST, вы хотите перезагрузить страницу. Хотя и не всегда. При использовании метода GET для извлечения данных вы можете рассмотреть возможность использования AJAX. Однако я относительно новичок в Razor Pages и ядре ASP.net в целом. Мне говорят, что мы всегда должны загружать страницу. Что, поскольку мы используем Razor Pages, неправильно использовать AJAX для отправки чего-либо в код программной части. В противном случае, какова цель использования Razor Pages.
Меня беспокоит то, что это оставляет плохой пользовательский опыт. Если я хочу запустить отчет, получить данные и показать данные с помощью обработчика. Я требую, чтобы страница перезагрузилась. Если я использую AJAX, мне требуется JSON, но для этого не требуется перезагрузка страницы. Если я использую обработчик, я могу вернуть модель, которую я могу использовать для отображения на перезагруженной странице без необходимости конвертировать ее в JSON.
Как лучше всего работать с Razor Pages? Кажется, если вы должны перезагружать каждый раз, когда мы возвращаемся в прошлое, в 2003 год.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Совершенно нормально использовать AJAX для отправки кода программной части Razor Pages, я создал панель администратора приложения для блога на основе этого с удовлетворительными результатами https://github.com/FanrayMedia/Фанрей
Класс модели Razor Pages служит удобными конечными точками, которые возвращают JSON для ваших вызовов AJAX. Например, композитор моего блога, который представляет собой Razor Page, имеет функцию автоматическое сохранение черновика, в Посмотреть у меня есть js-код, например
axios.post('/admin/compose?handler=save', this.payload, { headers: { 'XSRF-TOKEN': this.tok } }) ...
которые публикуются в этом код класса позади модели
public async Task<JsonResult> OnPostSaveAsync([FromBody]PostVM post)
{
...
return new JsonResult(postVM);
}
Надеюсь это поможет!
Перезагрузка всей страницы каждый раз, когда вы хотите попасть в конечную точку API (контроллер), как правило, НЕ является хорошей идеей, частичные просмотры - это путь.