This post was most recently updated on November 4th, 2019.Reading Time: 2 minutes.
Just a quick piece of documentation, as this piece of code has changed in different versions of .NET Core 3.0 so far a few times. Need to have things like this written down somewhere!
Both of these helper libraries do essentially the same thing: navigate/browse/redirect the user to a different address, component, page or view in or by your web app. What you normally use this library for is exactly the same in all versions I’ve worked with, anyway, and that goes as follows:
// to redirect the user, do something like this: uriHelper.NavigateTo("/yourPage"); // to do a dynamic refresh with injected UriHelper navMan.NavigateTo("/yourPage", true); // to also force page refresh instead of a dynamic load with injected NavigationManager
See below on how to inject these dependencies to your pages and views!
< .NET Core 3.0 preview 7
Before preview 7, the UriHelper would be available from namespace Microsoft.AspNetCore.Blazor.Services. I suppose that made sense originally, if the services was to be used by just Blazor? This is how to use it:
@inject Microsoft.AspNetCore.Blazor.Services.IUriHelper UriHelper
.NET Core 3.0 preview 7
In .NET Core 3.0 preview 7, the UriHelper library’s (used in Blazor) namespace and usage has changed a bit.
Instead, it is now out of the Blazor namespace and in the Components.Services namespace.
@inject Microsoft.AspNetCore.Components.Services.IUriHelper UriHelper
.NET Core 3.0 preview 8
Yes, it’s changed again. Now it’s out of the “Services” namespace.
@inject Microsoft.AspNetCore.Components.IUriHelper UriHelper
.NET Core 3.0 preview 9 +
Okay, so I recall this has been the same in preview 9 and the GA version.
@inject NavigationManager NavigationManager
Yeah ok, so that’s that. Short and sweet for a change :)
He's been a developer from 2004 (starting with PHP and Java), and he's been bending and twisting SharePoint into different shapes since MOSS. Nowadays he's not only working on SharePoint, but also on .NET projects, Azure, Office 365 and a lot of other stuff. He's also Microsoft MVP for Office Development.
This is his personal professional (e.g. professional, but definitely personal) blog.
Latest posts by Antti K. Koskela (see all)
- WordPress media uploads failing after year/month change? Easy fix :) - January 14, 2020
- App Service refuses connections with error: “No connection could be made because the target machine actively refused it” - January 9, 2020
- 2019 – Year Review (200th post on this blog!) - December 31, 2019