diff --git a/Oqtane.Client/Modules/Admin/Pages/Add.razor b/Oqtane.Client/Modules/Admin/Pages/Add.razor
index 2a253ed1..171ab885 100644
--- a/Oqtane.Client/Modules/Admin/Pages/Add.razor
+++ b/Oqtane.Client/Modules/Admin/Pages/Add.razor
@@ -189,7 +189,7 @@
-@Localizer["Cancel"]
+
@code {
private List _themeList;
@@ -386,7 +386,14 @@
await PageService.UpdatePageOrderAsync(page.SiteId, page.PageId, page.ParentId);
await logger.LogInformation("Page Added {Page}", page);
- NavigationManager.NavigateTo(NavigateUrl(page.Path));
+ if (PageState.QueryString.ContainsKey("cp"))
+ {
+ NavigationManager.NavigateTo(NavigateUrl(PageState.Pages.First(item => item.PageId == int.Parse(PageState.QueryString["cp"])).Path));
+ }
+ else
+ {
+ NavigationManager.NavigateTo(NavigateUrl(page.Path));
+ }
}
else
{
@@ -401,6 +408,18 @@
}
}
+ private void Cancel()
+ {
+ if (PageState.QueryString.ContainsKey("cp"))
+ {
+ NavigationManager.NavigateTo(NavigateUrl(PageState.Pages.First(item => item.PageId == int.Parse(PageState.QueryString["cp"])).Path));
+ }
+ else
+ {
+ NavigationManager.NavigateTo(NavigateUrl());
+ }
+ }
+
private static bool PagePathIsUnique(string pagePath, int siteId, List existingPages)
{
return !existingPages.Any(page => page.SiteId == siteId && page.Path == pagePath);
diff --git a/Oqtane.Client/Modules/Admin/Pages/Edit.razor b/Oqtane.Client/Modules/Admin/Pages/Edit.razor
index 4a99881c..5efdd992 100644
--- a/Oqtane.Client/Modules/Admin/Pages/Edit.razor
+++ b/Oqtane.Client/Modules/Admin/Pages/Edit.razor
@@ -205,7 +205,7 @@
-@Localizer["Cancel"]
+
@code {
private List _themeList;
@@ -493,7 +493,14 @@
}
await logger.LogInformation("Page Saved {Page}", page);
- NavigationManager.NavigateTo(NavigateUrl(page.Path));
+ if (PageState.QueryString.ContainsKey("cp"))
+ {
+ NavigationManager.NavigateTo(NavigateUrl(PageState.Pages.First(item => item.PageId == int.Parse(PageState.QueryString["cp"])).Path));
+ }
+ else
+ {
+ NavigationManager.NavigateTo(NavigateUrl(page.Path));
+ }
}
else
{
@@ -507,6 +514,18 @@
}
}
+ private void Cancel()
+ {
+ if (PageState.QueryString.ContainsKey("cp"))
+ {
+ NavigationManager.NavigateTo(NavigateUrl(PageState.Pages.First(item => item.PageId == int.Parse(PageState.QueryString["cp"])).Path));
+ }
+ else
+ {
+ NavigationManager.NavigateTo(NavigateUrl());
+ }
+ }
+
private static bool PagePathIsUnique(string pagePath, int siteId, int pageId, List existingPages)
{
return !existingPages.Any(page => page.SiteId == siteId && page.Path == pagePath && page.PageId != pageId);
diff --git a/Oqtane.Client/Themes/Controls/ControlPanel.razor b/Oqtane.Client/Themes/Controls/ControlPanel.razor
index 931f3ff3..eee04121 100644
--- a/Oqtane.Client/Themes/Controls/ControlPanel.razor
+++ b/Oqtane.Client/Themes/Controls/ControlPanel.razor
@@ -485,10 +485,10 @@
switch (location)
{
case "Add":
- url = EditUrl(PageState.Page.Path, module.ModuleId, location, "");
+ url = EditUrl(PageState.Page.Path, module.ModuleId, location, "cp=" + PageState.Page.PageId);
break;
case "Edit":
- url = EditUrl(PageState.Page.Path, module.ModuleId, location, "id=" + PageState.Page.PageId.ToString());
+ url = EditUrl(PageState.Page.Path, module.ModuleId, location, "id=" + PageState.Page.PageId.ToString() + "&cp=" + PageState.Page.PageId);
break;
}
}