Routing si Navigare in Blazor

  • Doru Bulubasa
  • 25 April 2025

🔍 Ce este routing-ul în Blazor?

Routing-ul permite aplicatiei tale sa raspunda la diferite URL-uri si sa afiseze continut specific pentru fiecare. In Blazor, acest lucru este realizat cu ajutorul directivei @page si al componentelor NavLink.


📄 Cum functioneaza

In Blazor, fiecare componenta care trebuie sa fie accesibila printr-un URL trebuie sa inceapa cu o directiva @page.

Exemplu:

@page "/about"

<h3>Despre aplicație</h3>
<p>Aceasta este o pagină despre aplicație.</p>

Aceasta componenta va fi afisata cand utilizatorul acceseaza https://site-ul-tau/about.


🧭 Navigare cu 

NavLink

Blazor ofera componenta NavLink, care functioneaza ca un hyperlink, dar adauga automat o clasa CSS activa atunci cand URL-ul este activ.

<NavLink href="/" Match="NavLinkMatch.All">
    Acasă
</NavLink>

<NavLink href="/about">
    Despre
</NavLink>

🔎 Match="NavLinkMatch.All" inseamna ca linkul va fi activ doar când URL-ul este exact.

📌 Parametrii în URL

Blazor permite transmiterea de date în URL sub forma de parametri.

Exemplu:

@page "/profile/{username}"

<h3>Profilul utilizatorului: @username</h3>

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

Navigand la /profile/ludo, pagina va afisa „Profilul utilizatorului: ludo”.


🧪 Exemplu complet: Home / About / Contact

  1. Pages/Home.razor

@page "/"

<h3>Acasă</h3>
<p>Bine ai venit în aplicația noastră Blazor!</p>

  1. Pages/About.razor

@page "/about"

<h3>Despre</h3>
<p>Informații despre aplicație și autor.</p>

  1. Pages/Contact.razor

@page "/contact"

<h3>Contact</h3>
<p>Trimite-ne un mesaj!</p>

  1. NavMenu.razor

<NavLink href="/" Match="NavLinkMatch.All">Acasă</NavLink>
<NavLink href="/about">Despre</NavLink>
<NavLink href="/contact">Contact</NavLink>


🏁 Concluzie

Navigarea este parte esentiala dintr-o aplicatie web. Blazor face routing-ul intuitiv, declarativ si puternic prin @page, NavLink si parametri in URL. In urmatorul articol, vom crea componente reutilizabile si vom invata sa transmitem date intre ele prin @Parameter.

🤖 Întreabă AI despre acest articol

AI Răspuns generat de AI pe baza acestui articol.
AI scrie răspunsul…

Scrie un comentariu

Adresa de mail nu va fi publicata. Campurile obligatorii sunt marcate cu *