Radzen PanelMenu component navigation in loop creation

When I create a panel menu in a loop, the link does not open the page, even though it shows a change in the URL bar. It is as if the navigation only fires once.

The code in this instance creates to three parent item in the panel menu, with a link to the landlord in each item.

When the menu is first loaded, I can click on a link(panel menu item) and it will navigate to the page. However, when I then click on another item, it will not navigate. If I refresh the page, I can then click on another link. The url will change in the address bar, but the page will not change. I can also see that the links all have the relevant Id's when I hover over them.

In summary, it appears that everything is there, but the navigation will only happen once, its as if it is seeing it as the same link, so wont navigate, even thought the loop is generating separate items.

Additionally, this is in the NavMenu.razor code which is called in the MainLayout page and is inside a Radzen sidebar.

The expected outcome is that the navigation will happen on each link when it is clicked.

            @if (landlords != null)
                @foreach (var url in landlords)
                    <RadzenPanelMenuItem Expanded="false" Text="@url.LandlordName" Icon="account_circle">
                        <RadzenPanelMenuItem Text="Dashboard" Path=@($"/Landlords/LandlordDashboard/{ url.Id }") Icon="dashboard" />

What happens if you use the <NavLink /> component instead?

Well, this is a long story.

I have discovered, which I am sure you already know, that the document lifecycle and navigation are two very separate things.

To fix it, any URL that has the same base URL, the relevant page/component must be set as OnParametersSetAsync() so the routing and doc lifecycle (I assume) knows that something has changed.

I tried every navigation type from anchors and NavLink etc.

I was using Navigation like every other framework in the world while forgetting that I am using Blazor.

Thank you for your time and support.