Unquestionably, ViewState was one of the most valuable things that came with .NET.  The problem was that using ViewState to store large amounts of page data caused many performance problems due to round tripping large amounts of html data between client and server.

Well, now (in ASP.NET 2.0) you can store ViewState not only as encoded hidden variable (the standard behavior), but also wherever you store your session state (InProc, StateServer, SqlServer). 

Want to know how?  Then read a short article by Matt Gibbs “ASP.NET 2.0 Page State Persister” at http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/PgStPrst.asp.  Make sure to note the pros/cons in the third paragraph.