Код: Выделить всё
@page "/lock"
@rendermode InteractiveServer
@inject IJSRuntime JSRuntime
@attribute [StreamRendering]
//html code
@code {
private async Task OnBeforeInternalNavigation(LocationChangingContext context)
{
var isConfirmed = await JSRuntime.InvokeAsync("confirm",
"Are you sure you want to close the page?");
if (!isConfirmed)
{
context.PreventNavigation();
}
}
//other code
}
Я не знаю, как это сделать. решите эту проблему, все написано согласно официальной документации.
Редактировать
Дополнительная информация:
- он работает при попытке перейти на совершенно другой сайт
- это не работает при переходе на другую страницу одного и того же веб-сайта.
- Я предполагаю, что это может произойти из-за того, что кнопки навигации находятся за пределами компонента, но я не могу просто переместите NavigationLock, так как я хочу заблокировать его только тогда, когда пользователь находится внутри этого конкретного компонента.
Подробнее здесь: https://stackoverflow.com/questions/792 ... zor-webapp
Мобильная версия