Visual Studio 2005(.NET2.0)からSystem.Web.UI.WebcControls( http://msdn2.microsoft.com/en-us/library/8bhzsw6t(en-US,VS.80).aspx )もかなり強化されています。
GridView( http://msdn2.microsoft.com/en-us/library/4w7ya1ts(en-US,VS.80).aspx )はなかなか使える頼もしい奴なんですが、基本の考え方はDataGrid( http://msdn2.microsoft.com/en-us/library/e1zk1ey1(en-US,VS.80).aspx )と同じです。
ただし値を取得する方法がSystem.Web.UI.IDataSource( http://msdn2.microsoft.com/en-us/library/aad4yfcx(en-US,VS.80).aspx )というインターフェイスコントロールに外だしされています。
このIDataSourceというのがなかなかすごい楽チンになっていて、SQLDataSource( http://msdn2.microsoft.com/en-us/library/cd0cb3we(en-US,VS.80).aspx )やAccessDataSource( http://msdn2.microsoft.com/en-us/library/t15wahz8(en-US,VS.80).aspx )を使うとSQLが直接埋め込まれますが、簡単にSelect( http://msdn2.microsoft.com/en-us/library/wh60683w(en-US,VS.80).aspx ), Insert( http://msdn2.microsoft.com/en-us/library/a7xyzhbc(en-US,VS.80).aspx ), Update( http://msdn2.microsoft.com/en-us/library/ah029hy1(en-US,VS.80).aspx ), Delete( http://msdn2.microsoft.com/en-us/library/t0wbtth7(en-US,VS.80).aspx )をやってくれるようになります。
私は型付DataSetしか利用しないのですが(型付DataSetの方もTableAdapterを簡単に作成してくれるようになっているのですが、また今度)、これとObjectDataSource( http://msdn2.microsoft.com/en-us/library/dx70zk47(en-US,VS.80).aspx )を簡単に連動させることが可能です。
でこのObjectDataSourceですが、EnableCaching( http://msdn2.microsoft.com/en-us/library/s7tysx21(en-US,VS.80).aspx )をtrueにするだけで自動でキャッシュしてくれます。
キャッシュの保持期間や、依存関係の設定もできてCacheDuration( http://msdn2.microsoft.com/en-us/library/kf1wbxks(en-US,VS.80).aspx ), CacheExpirationPolicy( http://msdn2.microsoft.com/en-us/library/1ckcfss4(en-US,VS.80).aspx ), CacheKeyDependency( http://msdn2.microsoft.com/en-us/library/bs63w4y7(en-US,VS.80).aspx )と設定が盛りだくさんです。
ただこの依存関係CacheKeyDependencyに何を設定するのか、SqlCacheDependency( http://msdn2.microsoft.com/en-us/library/bs63w4y7(en-US,VS.80).aspx )クラスを使うとSQL Serverのテーブルの変更の監視を行って、あるテーブルが更新されればキャッシュの破棄なんてことも出来るみたいなんですが、いかんせん理解していないのでそこまで追いついていません。(^^;;
#最近はこんな感じでクラスの海を泳いでいます。