Products list
Matched /products/{culture?}/list - an optional parameter in the middle of a template.
- culture
- en
Why did this match?
A middle optional is legal in a template but required at match time - only a
trailing run of optionals can be omitted by the URL. That's exactly how the built-in Blazor
router treats /products/{culture?}/list too: the literal list after
the optional pins every segment in place.
@* Matches /products/en/list (culture = "en"). Does NOT match /products/list - "list" would have to shift into {culture?}'s slot and then nothing is left for the literal. *@ <Broute Path="/products/{culture?}/list" Component="@typeof(ProductsListPage)" />