The scenario. I have a set of javascript tabpages that all contain data that can be retrieved in a single Select. When I do the retrieve, I fill a dataset, then put it into a session variable.<BR>***************<BR>adptr.SelectComman d = cmd;<BR>adptr.Fill (objDataSet, "rq_dataset");<BR>Session["reqData"] = objDataSet;<BR>***************<BR>This can then be used to populate the various tabpages as I move form one to another. <BR>***************<BR>if ( ! IsPostBack){<BR> if( Session["reqData"] != null){<BR> DataSet cachedDataSet = (DataSet)Session["reqData"];<BR> if(cachedDataSet != null) { // Use the data to fill whatever form elements are on the tab page }<BR> }<BR> }<BR> }<BR>***************<BR>This works OK&#062; What I don&#039;t know is 1. If I make changes to data in the form - a textbox, for example - I need to update the Session Dataset to reflect that change, as I want to be able to allow the user to make changes on all tabpages and only update when they are done. 2. What is the best way to check for changes in the Dataset and then update to the database when the user is done. I would like to be able to detect changes and warn the user if they have not been updated to the database. It seems that .net has all kinds of methods to handle this sort of thing (HasChanges, Dataset.Update) but I have founf little in the way of documentation as to how they are applied in real life. <BR><BR>Thanks, Dave