Blazor App sprawdzi, czy istnieje element html z id ={dialogId} na stronie:
Jeśli taki element nie istnieje, użyje domyślnego modułu obsługi do wyświetlenia komunikatu.
Jeśli ten element istnieje, classbędzie to:
ustawione jak components-reconnect-showprzy próbie ponownego połączenia z serwerem,
ustawiono tak components-reconnect-failed, jakby nie udało się połączyć z serwerem.
ustawione tak, components-reconnect-refusedjakby przeglądarka docierała do serwera, podczas gdy serwer aktywnie odrzuca połączenie
Domyślnie dialogIdjestcomponents-reconnect-modal . Możesz więc utworzyć element na stronie i używać CSS do kontrolowania zawartości i stylów według własnego uznania.
Próbny:
Na przykład tworzę trzy części treści do wyświetlenia w 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>
A następnie dodajmy trochę CSS, aby kontrolować styl:
Dzięki. Dziwne, że umieścili to pod modelami hostingowymi
Aaron Hudon
@AaronHudon, ponieważ występuje tylko wtedy, gdy używamy modelu Blazor Server Side :)
itminus
1
Wygląda na to, że ta informacja została przeniesiona tutaj .
drs9222
9
Jeśli chodzi o javascript, Blazor udostępnia window.Blazorobiekt poprzez API .
Jedną częścią tego interfejsu API jest defaultReconnectionHandler możliwość dostosowania sposobu ponownego połączenia, w tym ustawienie różnych opcji liczby ponownych połączeń itp.
Możliwe jest jednak także zamiana logiki wyświetlania ReconnectionDisplay
Prosta implementacja wygląda tak i pozwala uzyskać kontrolę nad procesem:
Cóż, jest to również sposób na jego rozwiązanie. Ale wolę sposób @itminus bardziej. Dziękuję wszystkim tym samym.
Melon NG,
Jasne, to zależy od twojego przypadku użycia. Jeśli potrzebujesz większej kontroli (np. Wykonaj kod niestandardowy, gdy połączenie się nie powiedzie), skorzystaj z interfejsu API. Jeśli chcesz tylko wymienić interfejs użytkownika, możesz skorzystać z sugestii @itminus.
Jeśli chodzi o javascript, Blazor udostępnia
window.Blazor
obiekt poprzez API .Jedną częścią tego interfejsu API jest
defaultReconnectionHandler
możliwość dostosowania sposobu ponownego połączenia, w tym ustawienie różnych opcji liczby ponownych połączeń itp.Możliwe jest jednak także zamiana logiki wyświetlania
ReconnectionDisplay
Prosta implementacja wygląda tak i pozwala uzyskać kontrolę nad procesem:
źródło