I'm having a problem changing data in the ViewState between post backs. I have a DataSet which I use to populate some controls, and then save in the ViewState. There is a button for deletion, and when that's clicked it does some special processing and deletes certain records through a DataView of one of the tables in the DataSet. AcceptChanges() is called on the DataSet once everything's been propogated to the DB. I can see the rows going away in the debugger. The DataSet reference is then saved in the ViewState. Then if the user clicks an add button which causes another postback and some records to be added, the DataSet reference in the ViewState also shows the deleted rows from the last postback! I must not be understanding the ViewState.