Приложение Blazor проверит, есть ли на странице HTML-элемент с id ={dialogId}
:
- Если такого элемента не существует, он будет использовать обработчик по умолчанию для отображения сообщения.
- Если этот элемент существует, этот элемент
class
будет:
- установить как
components-reconnect-show
при попытке переподключиться к серверу,
- установить,
components-reconnect-failed
когда он не смог подключиться к серверу.
- установить, как
components-reconnect-refused
будто браузер достигает сервера, в то время как сервер активно отклоняет соединение
По умолчанию dialogId
это components-reconnect-modal
. Таким образом, вы можете создать элемент на странице и использовать CSS для управления содержимым и стилями, которые вам нравятся.
Демо-версия:
Например, я создаю три части контента для отображения в Pages/_Host.cshtml
:
<div id="components-reconnect-modal" class="my-reconnect-modal components-reconnect-hide">
<div class="show">
<p>
This is the message when attempting to connect to server
</p>
</div>
<div class="failed">
<p>
This is the custom message when failing
</p>
</div>
<div class="refused">
<p>
This is the custom message when refused
</p>
</div>
</div>
<app>
@(await Html.RenderComponentAsync<App>(RenderMode.ServerPrerendered))
</app>
<script src="_framework/blazor.server.js"></script>
А затем давайте добавим немного CSS для управления стилем:
<style>
.my-reconnect-modal > div{
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1000;
overflow: hidden;
background-color: #fff;
opacity: 0.8;
text-align: center;
font-weight: bold;
}
.components-reconnect-hide > div
{
display: none;
}
.components-reconnect-show > div
{
display: none;
}
.components-reconnect-show > .show
{
display: block;
}
.components-reconnect-failed > div
{
display: none;
}
.components-reconnect-failed > .failed
{
display: block;
}
.components-reconnect-refused >div
{
display: none;
}
.components-reconnect-refused > .refused
{
display: block;
}
</style>
Наконец, мы получим следующее сообщение при попытке подключиться или не подключиться: