Merge pull request #8577 from dotnet-maestro-bot/merge/release/2.2-to-master

This commit is contained in:
James Newton-King 2018-10-11 08:10:56 +13:00 committed by GitHub
commit ce7d77aa09
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 20 additions and 10 deletions

View File

@ -129,8 +129,10 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure
var pageRouteMetadata = selectorModel.EndpointMetadata.OfType<PageRouteMetadata>().SingleOrDefault();
if (pageRouteMetadata == null)
{
// Selector does not have expected metadata. Should never reach here
throw new InvalidOperationException("Page selector did not have page route metadata.");
// Selector does not have expected metadata
// This selector was likely configured by AddPageRouteModelConvention
// Use the existing explicitly configured template
return selectorModel.AttributeRouteModel.Template;
}
var segments = pageRouteMetadata.PageRoute.Split('/');

View File

@ -147,6 +147,18 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests
Assert.Equal("Hello from World", body);
}
[Fact]
public async Task Page_PageRouteTransformer_PageWithConfiguredRoute()
{
// Arrange & Act
var response = await Client.GetAsync("http://localhost/PageRouteTransformer/NewConventionRoute/World");
// Assert
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
var body = await response.Content.ReadAsStringAsync();
Assert.Equal("Hello from World", body);
}
[Fact]
public virtual async Task ConventionalRoutedController_ActionIsReachable()
{

View File

@ -1,4 +1,2 @@
@page "{id?}"
@model RoutingWebSite.Pages.LGAnotherPageModel
@{
}

View File

@ -1,4 +1,2 @@
@page "{id?}"
@model BasicWebSite.Pages.LGPageModel
@{
}

View File

@ -0,0 +1,2 @@
@page "ExtraPath/{id?}"
Hello from @ViewContext.RouteData.Values["id"]

View File

@ -1,4 +1,2 @@
@page "ExtraPath/{id?}"
@{
}
Hello from @ViewContext.RouteData.Values["id"]

View File

@ -28,6 +28,7 @@ namespace RoutingWebSite
})
.AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/PageRouteTransformer/PageWithConfiguredRoute", "/PageRouteTransformer/NewConventionRoute/{id?}");
options.Conventions.AddFolderRouteModelConvention("/PageRouteTransformer", model =>
{
pageRouteTransformerConvention.Apply(model);

View File

@ -26,6 +26,7 @@ namespace RoutingWebSite
.AddMvc()
.AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/PageRouteTransformer/PageWithConfiguredRoute", "/PageRouteTransformer/NewConventionRoute/{id?}");
options.Conventions.AddFolderRouteModelConvention("/PageRouteTransformer", model =>
{
pageRouteTransformerConvention.Apply(model);