0

トピックhttp://www.codeproject.com/KB/viewstate/SaveViewState.aspxを参照してください。このトピックでは、ViewStateをサーバー経由でファイルシステムに保存して、ラウンドトリップでViewStateを非常に小さくする方法を示します。作成者はSystem.Web.UI.Pageを継承してクラスBasePageを作成し、すべてのページはこのクラスから派生しています。

私が開発しているサイトはマスターページを使用しており、すべてのページはこのマスターページから派生しています。オーバーライドしようとするとSavePageStateToPersistenceMedium()、コンパイルエラーが生成され、System.Web.UI.MasterPage内にオーバーライドするそのようなメソッドがないことを示します。

どうすればこの問題を解決できますか?

4

2 に答える 2

2

私は解決策を見つけました。実際、aspxページはSystem.Web.UI.Pageから派生し、masterページはControlクラスから派生しています。そこで、メソッドSavePageStateToPersistenceMedium()は、マスターページではなくaspxページ内でのみ使用できます。各aspxページ内でこのメソッドをオーバーライドするか、Pageクラスから派生した独自の基本クラスを作成してからメソッドをオーバーライドする必要があります。

于 2009-11-11T08:36:27.063 に答える
1

PageStatePersisterオーバーライドを使用すると、基本クラスを必要とせずに、すべてのページでViewState永続化メカニズムを変更する簡単な方法になります。

Milan Negovanは、PageStatePersisterを使用したさまざまなオプションについて、いくつかの追加リンクを付けて、優れたブログ投稿を書いています。

于 2009-11-11T09:15:41.167 に答える