One of the new extensibility features in ASP.NET 2.0 is the ability to override and customize how page viewstate is stored and persisted. With ASP.NET V1.x, viewstate is always stored in a hidden field within the ASP.NET page, and doesn’t expose an easy way to place it elsewhere. With ASP.NET V2.0 you can optionally choose to store it anywhere. A built-in SessionPageStatePersister is even included built-in to the product if you want to store it on the server in session state.
Milan Negovan has a good post that talks a little more about the extensibility opportunities to use this on his blog, as well as some of the pros/cons of the different options