We're seeing a rather strange behavior which is affecting one of our apps. Suppose you have 2 pages, each with a parameter that gets initialized from the query string of the URI an both have the same name (ex.: id). Each of these pages binds each of its parameter to a textbox which is used to filter a list of items presented to the user.
Whenever the user fills the textbox and runs a search, that page gets the data from a remote server and will also navigate to itself with the specified filter set as a querystring parameter so that the url reflects the state of the shown items and can be shared with other users.
The problem we're having is that when the user performs a search and then navigates to the other page (for instance, through a navlink component) the parameter of the destination page gets setup with the value that was specified on the previous page. This will only happen if both parameters have the same name
In other words, if the user run a search and ends up with page1?id=test, then decides to navigate to page2 by clicking on link from the menu, he'll see the filter box of page2 initialized with the test value that was specified on the previous URL even though the current url has only page2 (with no query string attached to it).
Has anyone faced an issue similar to this one? Any ideas on how to debug it?
EDIT: I was able to replicate this behavior in a simple app. It seems like parameterset ends up being called twice during the second page load and during the first time, the property that gets its value from the query string is initialized to the value set by the previous url. I've opened a bug entry here if someone is interested in giving feedback.
Thanks.