Я пытаюсь создать веб-приложение на стороне сервера Blazor. Я хотел бы предоставить систему навигации без перезагрузки с использованием модальных окон, чтобы пользователю не приходилось перезагружать страницу.
Если пользователь попадает прямо на www.host.com/login , загрузится главная страница и откроется модальное окно входа, а URL-адрес будет www.host.com/login. Если пользователь закрывает модальное окно, URL-адрес обновляется, модальное окно закрывается, но перезагрузки не должно происходить.
Возможно ли это в Blazor? Насколько я понимаю, модальные окна должны быть на той же странице, что и вызывающий. Из того, что мне удалось сделать с модальными окнами с модальными окнами Blazorstrap , у меня есть:
<BSNavLink Href="javascript:void(0);" id="username" @onclick="@(() => LoginRegisterModal.Show())">
<i class="fas fa-user icon-padding-right" />
USERNAME
</BSNavLink>
<BSModal @ref="LoginRegisterModal">
<BSModalHeader OnClick="@(() => LoginRegisterModal.Hide())">Login - Register</BSModalHeader>
<BSModalBody><p>Login / Register form goes here</p></BSModalBody>
</BSModal>
, который открывает модальное окно, но не обновляет URL-адрес и не открывается, когда пользователь попадает на него.
Я попытался поместить свой модальный файл в отдельный файл и установить на нем @ page "/ login" , но мне это не удалось. Также я проверил, как я могу изменить App.razor по умолчанию, чтобы добиться этого, но опять же не удалось.
Есть ли способ добиться такой навигации в Blazor?