I was recently investigating how to sort a filtered grid of items on one of our websites, Aiveo. If the user sorted the grid after a filter was applied, the filter was partially or completely lost, and the user would have to manually select the options again. This issue was caused by incorrectly generating the query string in the URL. The sorting parameters were correct, but any parameter that consisted of multiple values was wrong. Turns out fixing this wasn't so simple in ASP.NET by default.