rebase changes
This commit is contained in:
parent
09ce9c3041
commit
4d706f045f
|
|
@ -108,10 +108,11 @@ namespace Microsoft.AspNetCore.Routing
|
||||||
new RouteTemplate(endpoint.RoutePattern),
|
new RouteTemplate(endpoint.RoutePattern),
|
||||||
new RouteValueDictionary(endpoint.RoutePattern.Defaults));
|
new RouteValueDictionary(endpoint.RoutePattern.Defaults));
|
||||||
|
|
||||||
|
var routeValuesAddressMetadata = endpoint.Metadata.GetMetadata<IRouteValuesAddressMetadata>();
|
||||||
var templateValuesResult = templateBinder.GetValues(
|
var templateValuesResult = templateBinder.GetValues(
|
||||||
ambientValues: ambientValues,
|
ambientValues: ambientValues,
|
||||||
explicitValues: explicitValues,
|
explicitValues: explicitValues,
|
||||||
requiredKeys: endpoint.RequiredValues.Keys);
|
requiredKeys: routeValuesAddressMetadata?.RequiredValues.Keys);
|
||||||
if (templateValuesResult == null)
|
if (templateValuesResult == null)
|
||||||
{
|
{
|
||||||
// We're missing one of the required values for this route.
|
// We're missing one of the required values for this route.
|
||||||
|
|
|
||||||
|
|
@ -1311,9 +1311,10 @@ namespace Microsoft.AspNetCore.Routing
|
||||||
// Arrange
|
// Arrange
|
||||||
var endpoint1 = EndpointFactory.CreateMatcherEndpoint(
|
var endpoint1 = EndpointFactory.CreateMatcherEndpoint(
|
||||||
"Product/Edit/{id}",
|
"Product/Edit/{id}",
|
||||||
requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
|
|
||||||
defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
|
defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
|
||||||
metadata: new RouteNameMetadata("EditProduct"));
|
metadata: new RouteValuesAddressMetadata(
|
||||||
|
"EditProduct",
|
||||||
|
new RouteValueDictionary(new { controller = "Product", action = "Edit", area = (string)null, page = (string)null })));
|
||||||
var linkGenerator = CreateLinkGenerator(endpoint1);
|
var linkGenerator = CreateLinkGenerator(endpoint1);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -1334,14 +1335,16 @@ namespace Microsoft.AspNetCore.Routing
|
||||||
// Arrange
|
// Arrange
|
||||||
var endpoint1 = EndpointFactory.CreateMatcherEndpoint(
|
var endpoint1 = EndpointFactory.CreateMatcherEndpoint(
|
||||||
"Product/Edit/{id}",
|
"Product/Edit/{id}",
|
||||||
requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
|
|
||||||
defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
|
defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
|
||||||
metadata: new RouteNameMetadata("default"));
|
metadata: new RouteValuesAddressMetadata(
|
||||||
|
"default",
|
||||||
|
new RouteValueDictionary(new { controller = "Product", action = "Edit", area = (string)null, page = (string)null })));
|
||||||
var endpoint2 = EndpointFactory.CreateMatcherEndpoint(
|
var endpoint2 = EndpointFactory.CreateMatcherEndpoint(
|
||||||
"Product/Details/{id}",
|
"Product/Details/{id}",
|
||||||
requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
|
|
||||||
defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
|
defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
|
||||||
metadata: new RouteNameMetadata("default"));
|
metadata: new RouteValuesAddressMetadata(
|
||||||
|
"default",
|
||||||
|
new RouteValueDictionary(new { controller = "Product", action = "Edit", area = (string)null, page = (string)null })));
|
||||||
var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2);
|
var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -1528,6 +1531,11 @@ namespace Microsoft.AspNetCore.Routing
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private interface INameMetadata
|
||||||
|
{
|
||||||
|
string Name { get; }
|
||||||
|
}
|
||||||
|
|
||||||
private class NameMetadata : INameMetadata
|
private class NameMetadata : INameMetadata
|
||||||
{
|
{
|
||||||
public NameMetadata(string name)
|
public NameMetadata(string name)
|
||||||
|
|
@ -1536,14 +1544,5 @@ namespace Microsoft.AspNetCore.Routing
|
||||||
}
|
}
|
||||||
public string Name { get; }
|
public string Name { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
private class RouteNameMetadata : IRouteNameMetadata
|
|
||||||
{
|
|
||||||
public RouteNameMetadata(string name)
|
|
||||||
{
|
|
||||||
Name = name;
|
|
||||||
}
|
|
||||||
public string Name { get; }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue