将DataTable存储在视图状态中

时间:2012-05-30 08:09:44

标签: c# asp.net datatable

  

我想我发现了:D,错误的数据:D - steve jobs


我有一个数据表对象我想将它存储在Viewstate中但有时会发生错误(不常见)

Error: Sys.WebForms.PageRequestManagerServerErrorException: Error serializing value 'Table1' of type 'System.Data.DataTable.'

任何帮助请

2 个答案:

答案 0 :(得分:1)

您面临的问题是因为数据表的大小。

在ViewState中存储数据表不是一个好习惯,因为它会增加页面大小并降低性能,同时ViewState也可以在客户端解密,因此DataTable不安全。

您可以通过会话或更好地从缓存中执行此操作,如果没有经常使用,我建议您从数据库中重新查询。

答案 1 :(得分:0)

使用Session存储DataTable,因为Viewstate在存储大型对象(如DataTable)时效率不高,因为它们包含在每个服务器请求中。

  Session[dt] = datatableobj;