diff --git a/src/Umbraco.Web.Website/ActionResults/RedirectToUmbracoPageResult.cs b/src/Umbraco.Web.Website/ActionResults/RedirectToUmbracoPageResult.cs
index 88ad704938..54c220cd55 100644
--- a/src/Umbraco.Web.Website/ActionResults/RedirectToUmbracoPageResult.cs
+++ b/src/Umbraco.Web.Website/ActionResults/RedirectToUmbracoPageResult.cs
@@ -66,10 +66,11 @@ namespace Umbraco.Web.Website.ActionResults
///
///
///
- public RedirectToUmbracoPageResult(int pageId, IPublishedUrlProvider publishedUrlProvider)
+ public RedirectToUmbracoPageResult(int pageId, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor)
{
_pageId = pageId;
_publishedUrlProvider = publishedUrlProvider;
+ _umbracoContextAccessor = umbracoContextAccessor;
}
///
@@ -78,11 +79,12 @@ namespace Umbraco.Web.Website.ActionResults
///
///
///
- public RedirectToUmbracoPageResult(int pageId, NameValueCollection queryStringValues, IPublishedUrlProvider publishedUrlProvider)
+ public RedirectToUmbracoPageResult(int pageId, NameValueCollection queryStringValues, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor)
{
_pageId = pageId;
_queryStringValues = queryStringValues;
_publishedUrlProvider = publishedUrlProvider;
+ _umbracoContextAccessor = umbracoContextAccessor;
}
///
@@ -91,11 +93,12 @@ namespace Umbraco.Web.Website.ActionResults
///
///
///
- public RedirectToUmbracoPageResult(int pageId, string queryString, IPublishedUrlProvider publishedUrlProvider)
+ public RedirectToUmbracoPageResult(int pageId, string queryString, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor)
{
_pageId = pageId;
_queryStringValues = ParseQueryString(queryString);
_publishedUrlProvider = publishedUrlProvider;
+ _umbracoContextAccessor = umbracoContextAccessor;
}
///
diff --git a/src/Umbraco.Web.Website/ActionResults/RedirectToUmbracoUrlResult.cs b/src/Umbraco.Web.Website/ActionResults/RedirectToUmbracoUrlResult.cs
index 929cdb85e6..6a7b4d678d 100644
--- a/src/Umbraco.Web.Website/ActionResults/RedirectToUmbracoUrlResult.cs
+++ b/src/Umbraco.Web.Website/ActionResults/RedirectToUmbracoUrlResult.cs
@@ -32,7 +32,8 @@ namespace Umbraco.Web.Website.ActionResults
if (context is null) throw new ArgumentNullException(nameof(context));
var destinationUrl = _umbracoContext.OriginalRequestUrl.PathAndQuery;
- var tempData = context.HttpContext.RequestServices.GetRequiredService();
+ var tempDataDictionaryFactory = context.HttpContext.RequestServices.GetRequiredService();
+ var tempData = tempDataDictionaryFactory.GetTempData(context.HttpContext);
tempData?.Keep();
context.HttpContext.Response.Redirect(destinationUrl);
diff --git a/src/Umbraco.Web.Website/Controllers/SurfaceController.cs b/src/Umbraco.Web.Website/Controllers/SurfaceController.cs
index 22b50250af..2f2984cf21 100644
--- a/src/Umbraco.Web.Website/Controllers/SurfaceController.cs
+++ b/src/Umbraco.Web.Website/Controllers/SurfaceController.cs
@@ -48,18 +48,18 @@ namespace Umbraco.Web.Website.Controllers
///
protected RedirectToUmbracoPageResult RedirectToUmbracoPage(int pageId)
{
- return new RedirectToUmbracoPageResult(pageId, _publishedUrlProvider);
+ return new RedirectToUmbracoPageResult(pageId, _publishedUrlProvider, UmbracoContextAccessor);
}
///
- /// Redirects to the Umbraco page with the given id and passes provided querystring
+ /// Redirects to the Umbraco page with the given id and passes provided querystring
///
///
///
///
protected RedirectToUmbracoPageResult RedirectToUmbracoPage(int pageId, NameValueCollection queryStringValues)
{
- return new RedirectToUmbracoPageResult(pageId, queryStringValues, _publishedUrlProvider);
+ return new RedirectToUmbracoPageResult(pageId, queryStringValues, _publishedUrlProvider, UmbracoContextAccessor);
}
///
@@ -70,7 +70,7 @@ namespace Umbraco.Web.Website.Controllers
///
protected RedirectToUmbracoPageResult RedirectToUmbracoPage(int pageId, string queryString)
{
- return new RedirectToUmbracoPageResult(pageId, queryString, _publishedUrlProvider);
+ return new RedirectToUmbracoPageResult(pageId, queryString, _publishedUrlProvider, UmbracoContextAccessor);
}
///