From 5b862fd0d6aa0210c2053ebdbcf7b042938f0b76 Mon Sep 17 00:00:00 2001 From: hishamco Date: Tue, 15 Sep 2020 18:51:16 +0300 Subject: [PATCH 1/2] Add GetRouteUrlHelper --- .../BaseWebFormsComponent.cs | 8 ++++++++ .../BlazorWebFormsComponents.csproj | 1 + .../Extensions/GetRouteUrlHelper.cs | 19 +++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 src/BlazorWebFormsComponents/Extensions/GetRouteUrlHelper.cs diff --git a/src/BlazorWebFormsComponents/BaseWebFormsComponent.cs b/src/BlazorWebFormsComponents/BaseWebFormsComponent.cs index 920d225..a54f646 100644 --- a/src/BlazorWebFormsComponents/BaseWebFormsComponent.cs +++ b/src/BlazorWebFormsComponents/BaseWebFormsComponent.cs @@ -1,5 +1,7 @@ using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Rendering; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing; using Microsoft.JSInterop; using System; using System.Collections.Generic; @@ -44,6 +46,12 @@ void ParentWrappingBuildRenderTree(RenderTreeBuilder builder) #region Obsolete Attributes / Properties + [Inject] + public LinkGenerator LinkGenerator { get; set; } + + [Inject] + public IHttpContextAccessor HttpContextAccessor { get; set; } + /// /// 🚨🚨 Use @ref instead of ID 🚨🚨 /// diff --git a/src/BlazorWebFormsComponents/BlazorWebFormsComponents.csproj b/src/BlazorWebFormsComponents/BlazorWebFormsComponents.csproj index 42ce7e7..e31832e 100644 --- a/src/BlazorWebFormsComponents/BlazorWebFormsComponents.csproj +++ b/src/BlazorWebFormsComponents/BlazorWebFormsComponents.csproj @@ -26,6 +26,7 @@ + diff --git a/src/BlazorWebFormsComponents/Extensions/GetRouteUrlHelper.cs b/src/BlazorWebFormsComponents/Extensions/GetRouteUrlHelper.cs new file mode 100644 index 0000000..19e5a1f --- /dev/null +++ b/src/BlazorWebFormsComponents/Extensions/GetRouteUrlHelper.cs @@ -0,0 +1,19 @@ +using Microsoft.AspNetCore.Routing; + +namespace BlazorWebFormsComponents.Extensions +{ + public static class GetRouteUrlHelper + { + public static string GetRouteUrl(this BaseWebFormsComponent component, object routeParameters) + => component.LinkGenerator.GetPathByRouteValues(component.HttpContextAccessor.HttpContext, null, routeParameters); + + public static string GetRouteUrl(this BaseWebFormsComponent component, string routeName, object routeParameters) + => component.LinkGenerator.GetPathByRouteValues(component.HttpContextAccessor.HttpContext, routeName, routeParameters); + + public static string GetRouteUrl(this BaseWebFormsComponent component, RouteValueDictionary routeParameters) + => null; + + public static string GetRouteUrl(this BaseWebFormsComponent component, string routeName, RouteValueDictionary routeParameters) + => null; + } +} From c148d1a06b93712f20ff5a03758847227fe8ab9c Mon Sep 17 00:00:00 2001 From: hishamco Date: Tue, 15 Sep 2020 19:11:00 +0300 Subject: [PATCH 2/2] Fix package name --- src/BlazorWebFormsComponents/BlazorWebFormsComponents.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BlazorWebFormsComponents/BlazorWebFormsComponents.csproj b/src/BlazorWebFormsComponents/BlazorWebFormsComponents.csproj index e31832e..40a9888 100644 --- a/src/BlazorWebFormsComponents/BlazorWebFormsComponents.csproj +++ b/src/BlazorWebFormsComponents/BlazorWebFormsComponents.csproj @@ -26,7 +26,7 @@ - +