A web page I'm working on contains a custom data grid that I have made. When the page first loads I am making a trip to the database, loading data into a DataTable, and then populating the custom data grid from the DataTable. The users are allowed to make changes to the data grid, and as they do so I am storing the changes by updating the DataTable. Only when the user is completely done making changes and clicks a "Save" button, does the data from the DataTable get pushed back to the database.
So, with that in mind, when changes are made to the data grid that require a postback, (i.e. adding/removing rows which are firing an asynchronous postback), where can I store the DataTable in between postbacks?
Originally, I had it setup where a static class was holding the DataTable, but then I learned that static classes are basically shared between all sessions of a website, and so the results would not be satisfactory. Also, I know I could store the DataTable in a session variable, but I am reading more and more these days that session variables should be avoided at all costs, especially when talking about ADO objects.
So what is the best method for storing/passing a DataTable between postbacks?