将数据表存储在视图状态中
本文关键字:视图状态 存储 数据表 | 更新日期: 2023-09-27 18:35:47
我想我发现它:D,错误的数据:D——史蒂夫乔布斯
我有一个数据表对象,我想将其存储在Viewstate中,但有时发生错误(不常见)
Error: Sys.WebForms.PageRequestManagerServerErrorException: Error serializing value 'Table1' of type 'System.Data.DataTable.'
请提供任何帮助
您面临的问题是由于数据表的大小。
将数据表存储在 ViewState 中不是一个好的做法,因为它会增加页面的大小并降低性能,而且 ViewState 也可以在客户端解密,因此 DataTable 不安全。
您可以通过会话或更好地从缓存中执行此操作,如果不经常使用它,我建议您从数据库中重新查询它。
使用会话来存储数据表,因为视图状态对于存储像 DataTable 这样的大型对象效率不高,因为它们与每个服务器请求一起包装。
Session[dt] = datatableobj;