我想我找到了:D,错误的数据:D——史蒂夫·乔布斯
我有一个数据表对象,我想将它存储在 Viewstate 中,但有时会发生错误(不常见
Error: Sys.WebForms.PageRequestManagerServerErrorException: Error serializing value 'Table1' of type 'System.Data.DataTable.'
任何帮助请
您面临的问题是由于数据表的大小。
在 ViewState 中存储数据表不是一个好习惯,因为它会增加页面的大小并降低性能,而且 ViewState 可以在客户端被破译,因此 DataTable 是不安全的。
您可以通过会话或从缓存中更好地执行此操作,如果不经常使用它,我建议您从数据库中重新查询它。
使用 Session 来存储 DataTable 因为 Viewstate 对于存储像 DataTable 这样的大对象来说效率不高,因为它们与每个服务器请求一起包装。
Session[dt] = datatableobj;