Je voudrais en savoir un peu plus sur Blazor, donc je crée un site Web simple en utilisant un modèle de projet Blazor Minimal (https://marketplace.visualstudio.com/items?itemName=GregTrevellick.BlazorMinimalProjectTemplate).

J'ai créé un dossier Pages , dans lequel j'ai About.razor et Index.razor

Dans About.razor, je n'ai que:

@page "/about"

<h3>About</h3>

Je voudrais pouvoir passer de la page d'index à la page à propos. J'essaie d'y parvenir avec un simple lien dans Index.razor :

<a href="About">About</a>

Malheureusement, cela ne change que l'URL de localhost: 1111 à localhost: 1111 / About mais la page ne change pas (c'est toujours la page d'index).

Même si j'écris l'URL (/ about), je suis toujours sur la page d'index.

Quelle est la meilleure façon de naviguer vers une autre page à l'aide de Blazor?

1
btm2424 27 févr. 2021 à 20:41

1 réponse

Meilleure réponse

Il semble que le modèle que vous avez sélectionné est très minimal!

HMZ a la bonne idée. Pour votre information, j'ai essayé cela et cela a fonctionné pour moi.

Layout.razor (nouveau fichier stocké dans le dossier partagé)

@inherits LayoutComponentBase

<div class="page">
    <div class="main">
        <div class="content px-4">
            @Body
        </div>
    </div>
</div>

MyApp.razor

@using Microsoft.AspNetCore.Components.Routing
@using BlazorMinimal1.Shared

<Router AppAssembly="@typeof(Program).Assembly">
    <Found Context="routeData">
        <RouteView RouteData="@routeData" DefaultLayout="@typeof(Layout)" />
    </Found>
    <NotFound>
        <p>Sorry, there's nothing at this address.</p>
    </NotFound>
</Router>

IMO, si vous essayez d'en savoir plus sur Blazor, vous feriez peut-être mieux d'utiliser les modèles standard fournis dans Visual Studio.

1
Jason D 2 mars 2021 à 15:48