将数据表存储在视图状态中

本文关键字:视图状态 存储 数据表 | 更新日期: 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;