Могу ли я «мягко перезагрузить» компонент страницы Blazor без полной перезагрузки браузера?C#

Место общения программистов C#
Anonymous
Могу ли я «мягко перезагрузить» компонент страницы Blazor без полной перезагрузки браузера?

Сообщение Anonymous »

Я хотел бы перезагрузить компонент страницы Blazor, не вызывая полной перезагрузки браузера.
Использование NavigationManager для перезагрузки работает, но я ищу более мягкий подход:
  • Сама страница остается загруженной, поэтому одноэлементные службы сохраняют свое состояние.
  • Компонент (например, с @page "/entity/{id:int}/edit") следует вызвать IDisposable.Dispose, если он реализован.
  • Создается новый экземпляр этого компонента, поэтому OnInitializedAsync запускается снова и вся разметка перестраивается.
Я думаю, что обходным путем является переход на «среднюю» страницу, например /soft-reload?returnUrl=..., и перенаправление обратно, но мне интересно, есть ли лучший способ? Кроме того, будет ли тот же метод работать для нестраничных компонентов?
В идеале, без использования JavaScript.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ser-reload

Вернуться в «C#»