私はそれを見つけたと思います:D、間違ったデータ:D –スティーブジョブズ
ビューステートに保存したいデータテーブルオブジェクトがありますが、エラーが発生することがあります(通常ではありません)
Error: Sys.WebForms.PageRequestManagerServerErrorException: Error serializing value 'Table1' of type 'System.Data.DataTable.'
助けてください
あなたが直面している問題は、データテーブルのサイズが原因です。
データテーブルをViewStateに保存すると、ページのサイズが大きくなり、パフォーマンスが低下するため、お勧めできません。また、ViewStateはクライアント側で解読される可能性があるため、DataTableは安全ではありません。
キャッシュからセッションまたはそれ以上の方法でそれを行うことができます。頻繁に使用されていない場合は、データベースから再クエリすることをお勧めします。
DataTable の格納には Session を使用します。Viewstate は、DataTable のような大きなオブジェクトが各サーバー要求でラップされるため、その格納には効率的ではないためです。
Session[dt] = datatableobj;