Search Results don't go to another page, but rather the current page is refreshed (on postback) to display the filtered results.
Of course this line would do just what you say it does:
'dsSoftware = Session("dsSoftware") *** This is the line that would
Because when the page is refreshed on click of the Search button the page returns (posts back to itself), thus goes into you Else clause, and you pass the result set (dataset) which is unfiltered back into it.
LOGIC...LOGIC...LOGIC. I have said this a million times, you must understand logic when coding... Monkey's can type it, people must understand it to follow it.
Sorry...just my little rant, not directly related to you. :mrgreen: :mrgreen:
What happens in your page:
1. Page is Requested
2. The Dataset is passed into the Session Object for storage
3. Your results are filtered and the user clicks the search button
4. The page is refreshed and is thus posted back to itself (PostBack = true)
5. The Dataset from the Session initial load it retrieved and passed into your dataset current dataset.