diff --git a/src/Microsoft.AspNetCore.Mvc.Core/ControllerBase.cs b/src/Microsoft.AspNetCore.Mvc.Core/ControllerBase.cs
index 457d88393b..e95407399b 100644
--- a/src/Microsoft.AspNetCore.Mvc.Core/ControllerBase.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Core/ControllerBase.cs
@@ -983,7 +983,7 @@ namespace Microsoft.AspNetCore.Mvc
/// The .
[NonAction]
public virtual RedirectToPageResult RedirectToPage(string pageName, string pageHandler, object routeValues)
- => RedirectToPage(pageName, pageHandler, routeValues);
+ => RedirectToPage(pageName, pageHandler, routeValues, fragment: null);
///
/// Redirects () to the specified
diff --git a/test/Microsoft.AspNetCore.Mvc.Core.Test/ControllerBaseTest.cs b/test/Microsoft.AspNetCore.Mvc.Core.Test/ControllerBaseTest.cs
index 49ad6abc6a..ccdd720768 100644
--- a/test/Microsoft.AspNetCore.Mvc.Core.Test/ControllerBaseTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Core.Test/ControllerBaseTest.cs
@@ -2478,6 +2478,26 @@ namespace Microsoft.AspNetCore.Mvc.Core.Test
Assert.True(controller.ModelState.IsValid);
}
+ [Fact]
+ public void RedirectToPage_WithPageName_Handler_AndRouteValues()
+ {
+ // Arrange
+ var controller = new TestableController();
+
+ // Act
+ var result = controller.RedirectToPage("page", "handler", new { test = "value"});
+
+ // Assert
+ Assert.Equal("page", result.PageName);
+ Assert.Equal("handler", result.PageHandler);
+ Assert.Collection(result.RouteValues,
+ item =>
+ {
+ Assert.Equal("test", item.Key);
+ Assert.Equal("value", item.Value);
+ });
+ }
+
private static ControllerBase GetController(IModelBinder binder, IValueProvider valueProvider)
{
var metadataProvider = TestModelMetadataProvider.CreateDefaultProvider();