English
Français

Blog of Denis VOITURON

for a better .NET world

Blazor - Capturer les pages 404 (non trouvées)

Posted on 2021-08-14

Pour capturer toutes les routes qui ne correspondent à aucune page déjà existante, il existe deux techniques :

  1. App.razor

Cette méthode classique consiste à modifier le balise NotFound de la page App.razor. Cela fonctionne très bien, tant que vous n’avez pas besoin du contenu de la route erronée.

<NotFound>
    <LayoutView Layout="@typeof(MainLayout)">
        <p>Sorry, there's nothing at this address.</p>
    </LayoutView>
</NotFound>
  1. Page CatchAll.razor.

La seconde manière consiste à créer une page CatchAll.razor (ou tout autre nom) qui intercepte toutes les routes via @page "/{*Path}". Vous pouvez ensuite tracer la route utilisée et ajouter une illustrations plus agréable pour l’utilisateur.

@page "/{*Path}"

<h3>404 - Page not found</h3>
Route: @Path

@code {
    [Parameter]
    public string Path { get; set; }
}

Cette route capture toutes les demandes provenant de la racine, mais également de tous les sous-dossiers.

ⓘ Avec ce code, tous les fichiers (.js, .css, …) seront interceptés. Vous pouvez attraper tous les itinéraires à l’exception des “fichiers statiques” en utilisant la contrainte nonfile.

Example: @page "/{*Path:nonfile}"

Langues

EnglishEnglish
FrenchFrançais

Suivez-moi

Articles récents