There is an unsaved comment in progress. You will lose your changes if you continue. Are you sure you want to reopen the work item?
Bug Found in ControllerActionInvoker Dealing With Request Values
I have the following route:
Defaults = page: 1
I set the page so that it always defaults to "1" if no value is found in the query string for "page" that the value of one is returned.
So when a request is executed, the Route passes back the RouteData.Values = controller: "Home", action: "Index", page: 1. Then it goes through it's normally processing and the value of the page query string is passed in to my action method
for parameter page. So if query string page = 1 then 1, query string page = 2 then 2, and so on. This is how it worked in PR3 and how I understood it was suppose to work as a concept.
However, in PR4, this doesn't work anymore because of Line 166 in ControllerActionInvoker. It specifically checks that the value is in the route values. However they are always going to be in the route values if they have been defined as a default.
Am I going crazy and did something wrong in my code? Or is this an actual bug, it seems too close to the core functionality to have been missed.