Two possible places to store the dataset are in the viewstate or in the
session. You wouldn't want to do this for a large dataset, but for a
small dataset (a hundred rows or so), it shouln't be a problem.
If you store it in the Viewstate, it's stored in hidden form fields
that are passed back and forth to the user. This saves server
resources, but you may significantly increase the HTML you're passing
back and forth to the client's browser, which could slow performance.
You could also store the information in the session, but you need to
keep in mind that storing large datasets for several users in session
can use up server memory pretty quickly.
This article has some information on storing a dataset in Viewstate:
http://www.developer.com/net/asp/article.php/2210191
The basic idea is that you load the data on page load and immediately
put it in the Viewstate. Then on subsequent postbacks, you check the
viewstate value to make sure it's not null and load the dataset from
it. If it's missing, you reload the data from the database.
- Jon
http://weblogs.asp.net/jgalloway