From b4b9976567322e4caacf53c27ed18e4e546aad84 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Fri, 8 Sep 2023 12:05:20 -0400 Subject: [PATCH] retain querystring parameters on url mapping redirect --- Oqtane.Client/UI/SiteRouter.razor | 6 +++++- Oqtane.Shared/Models/Route.cs | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Oqtane.Client/UI/SiteRouter.razor b/Oqtane.Client/UI/SiteRouter.razor index 2163b172..8035841e 100644 --- a/Oqtane.Client/UI/SiteRouter.razor +++ b/Oqtane.Client/UI/SiteRouter.razor @@ -146,6 +146,10 @@ { editmode = false; // reset edit mode when navigating to different page } + if (querystring.ContainsKey("edit") && querystring["edit"] == "true") + { + editmode = true; // querystring can set edit mode + } // get user if (PageState == null || refresh || PageState.Alias.SiteId != SiteState.Alias.SiteId) @@ -290,7 +294,7 @@ var urlMapping = await UrlMappingService.GetUrlMappingAsync(site.SiteId, route.PagePath); if (urlMapping != null && !string.IsNullOrEmpty(urlMapping.MappedUrl)) { - var url = (urlMapping.MappedUrl.StartsWith("http")) ? urlMapping.MappedUrl : route.SiteUrl + "/" + urlMapping.MappedUrl; + var url = (urlMapping.MappedUrl.StartsWith("http")) ? urlMapping.MappedUrl : route.SiteUrl + "/" + urlMapping.MappedUrl + route.Query; NavigationManager.NavigateTo(url, false); } else // not mapped diff --git a/Oqtane.Shared/Models/Route.cs b/Oqtane.Shared/Models/Route.cs index 43385d8f..7d5b8833 100644 --- a/Oqtane.Shared/Models/Route.cs +++ b/Oqtane.Shared/Models/Route.cs @@ -122,7 +122,7 @@ namespace Oqtane.Models public string UrlParameters { get; set; } /// - /// A route may contain querystring parameters located after the ? delimiter + /// All querystring parameters (prefixed with a ? delimiter) /// public string Query { get; set; }