Приложение Blazor проверит, есть ли на странице HTML-элемент с id ={dialogId} :
Если такого элемента не существует, он будет использовать обработчик по умолчанию для отображения сообщения.
Если этот элемент существует, этот элемент classбудет:
установить как components-reconnect-showпри попытке переподключиться к серверу,
установить, components-reconnect-failedкогда он не смог подключиться к серверу.
установить, как components-reconnect-refusedбудто браузер достигает сервера, в то время как сервер активно отклоняет соединение
По умолчанию dialogIdэто components-reconnect-modal. Таким образом, вы можете создать элемент на странице и использовать CSS для управления содержимым и стилями, которые вам нравятся.
Демо-версия:
Например, я создаю три части контента для отображения в Pages/_Host.cshtml:
<divid="components-reconnect-modal"class="my-reconnect-modal components-reconnect-hide"><divclass="show"><p>
This is the message when attempting to connect to server
</p></div><divclass="failed"><p>
This is the custom message when failing
</p></div><divclass="refused"><p>
This is the custom message when refused
</p></div></div><app>
@(await Html.RenderComponentAsync<App>(RenderMode.ServerPrerendered))
</app><scriptsrc="_framework/blazor.server.js"></script>
А затем давайте добавим немного CSS для управления стилем:
Что касается JavaScript, Blazor предоставляет крошечный API через window.Blazorобъект.
Одна часть этого API - это то, defaultReconnectionHandlerчто позволяет вам настраивать процесс переподключения, включая установку различных опций для количества повторных попыток и т. Д.
Тем не менее, также можно просто поменять логику для отображения ReconnectionDisplay
Простая реализация выглядит следующим образом и позволяет вам контролировать процесс:
Ну, это способ решить это тоже. Но я предпочитаю способ @itminus больше. Все же разрешите поблагодарить вас.
Дыня NG
Конечно, это зависит от вашего варианта использования. Если вам нужно больше контроля (например, выполнить пользовательский код при сбое подключения), используйте API. Если вы просто хотите поменять интерфейс, вы можете воспользоваться предложением @itminus.
Что касается JavaScript, Blazor предоставляет крошечный API через
window.Blazor
объект.Одна часть этого API - это то,
defaultReconnectionHandler
что позволяет вам настраивать процесс переподключения, включая установку различных опций для количества повторных попыток и т. Д.Тем не менее, также можно просто поменять логику для отображения
ReconnectionDisplay
Простая реализация выглядит следующим образом и позволяет вам контролировать процесс:
источник