La aplicación Blazor verificará si hay un elemento html con id ={dialogId} en la página:
Si dicho elemento no existe, utilizará el controlador predeterminado para mostrar el mensaje.
Si este elemento existe, este elemento classserá:
establecido como components-reconnect-showcuando intente volver a conectarse al servidor,
establecido como components-reconnect-failedcuando no pudo conectarse al servidor.
configurado como components-reconnect-refusedsi el navegador llegara al servidor mientras el servidor rechaza la conexión activamente
Por defecto, el dialogIdes components-reconnect-modal. Por lo tanto, puede crear un elemento en la página y usar CSS para controlar el contenido y los estilos que desee.
Manifestación:
Por ejemplo, creo tres partes de contenido para mostrar dentro de 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>
Y luego agreguemos un poco de CSS para controlar el estilo:
Gracias. Es extraño que lo pongan en modelos de alojamiento
Aaron Hudon
@AaronHudon porque solo ocurre si usamos el modelo Blazor Server Side :)
itminus
1
Parece que esta información se ha trasladado hasta aquí .
drs9222
9
Para el lado de JavaScript de las cosas, Blazor expone una pequeña API a través del window.Blazorobjeto.
Una parte de esta API es la defaultReconnectionHandlerque le permite personalizar la experiencia de reconexión, incluida la configuración de diferentes opciones para la cantidad de repeticiones, etc.
Sin embargo, también es posible cambiar la lógica para mostrar el ReconnectionDisplay
Una implementación simple se ve así y le permite controlar el proceso:
Bueno, es una forma de resolverlo también. Pero prefiero la forma de @itminus más. Gracias de todos modos.
Melon NG
Claro, depende de su caso de uso. Si necesita más control (por ejemplo, ejecutar código personalizado cuando falla la conexión), usar la API es el camino a seguir. Si solo desea cambiar la interfaz de usuario, puede ir con la sugerencia @itminus.
Para el lado de JavaScript de las cosas, Blazor expone una pequeña API a través del
window.Blazor
objeto.Una parte de esta API es la
defaultReconnectionHandler
que le permite personalizar la experiencia de reconexión, incluida la configuración de diferentes opciones para la cantidad de repeticiones, etc.Sin embargo, también es posible cambiar la lógica para mostrar el
ReconnectionDisplay
Una implementación simple se ve así y le permite controlar el proceso:
fuente