Кажется, вы пытаетесь создать SPA (одностраничное приложение), фактически не понимая, что с этим связано.
Прямо сейчас вы управляете приложением на стороне сервера, то есть ваши маршруты на стороне сервера, ваши представления на стороне сервера и т. Д. В результате вам нужно переходить назад и вперед между сервером, чтобы получить «страницы», что сводит на нет весь смысл наличия клиентского приложения. Вам нужно перетасовать все это на стороне клиента , используя такие фреймворки, как Angular, React, Vue и т. Д.
Эти платформы будут предоставлять такие вещи, как ваши шаблоны, двустороннее связывание данных, маршрутизация на стороне клиента (включая использование таких вещей, как History API, для создания виртуальных URL-адресов, позволяющих просматривать и просматривать, перезагружать и т. Д. Без потери ваше состояние на стороне клиента). В этот момент ваше базовое приложение ASP.NET Core становится больше похожим на API, просто обрабатывая передачу данных в / из вашего клиентского приложения и что-то вроде вашей базы данных и т. Д.
Вас также может заинтересовать Blazor, особенно серверная версия Blazor. Это очень на ранней стадии разработки, поэтому, вероятно, пока не стоит создавать на нем критически важные приложения, но он обеспечивает гораздо более гибкое взаимодействие между сервером и клиентом. По сути, он создает реактивные HTML-документы, которые используют SignalR внутри для прозрачной связи с сервером, чтобы получить / обновить состояние и синхронизировать части на стороне сервера и на стороне клиента. Это довольно гладко, но, как я уже сказал, все еще очень "предварительный просмотр" на данный момент.