【问题标题】:asp.net gridview event , keeping datasourceasp.net gridview 事件,保持数据源
【发布时间】:2012-05-29 18:17:20
【问题描述】:

什么是为网格视图保留数据源的方法。

情况:

我有一个查询可能需要 5 到 10 秒(大量数据上的大量链接)。 结果对于页面来说太大了,所以我的网格上有一个分页。

但是,每次我使用pageIndexChanged,我都需要重新获取数据源。

所以我想知道如何保留我的数据源。

有可能吗? 不是按会话

【问题讨论】:

  • 感谢 Tarun 的英语进步
  • 数据绑定怎么样?它应该通过视图状态自动持久化数据源设置。

标签: asp.net gridview datasource


【解决方案1】:

有可能,我使用了自定义(服务器端)视图状态提供程序来缓存您的数据源。

*更新:这里有一篇关于自定义视图状态提供程序(带有示例代码)的不错的文章:http://www.codeproject.com/Articles/8001/ViewState-Provider-an-implementation-using-Provide

但是,我强烈建议您改进查询,以将数据限制在用户真正想要查看的范围内。从内存、处理器、带宽和用户体验的角度来看,具有比用户真正感兴趣的行多得多的大型网格是笨拙的。尝试找到更好的方法。

【讨论】:

  • 我做到了,但他可以有超过 10000 行。我需要在 100000 行的表之间进行搜索。我链接了 20 个表。最后,这可能需要一些时间。而且我无法创建 Sql SP 或 Fct(内部规则)
  • 适用于小数据,但有大量数据,视图状态会导致错误。我正在寻找解决它的方法。
  • 标准视图状态不适用于非常大的数据,但自定义视图状态提供程序(持久到文件或数据库)将处理大数据。我用它来处理 > 50,000 行。正如我最初提到的,在使用比实际使用更多的数据填充网格之前,让用户提供搜索条件来过滤数据可能会更好。很少有包含数千行的网格对最终用户真正有意义。庞大的数据网格迫使他们使用其他不太友好的方法来过滤网格以找到他们真正想要的东西。
  • 我使用带有压缩的视图状态 (codeproject.com/Articles/14733/ViewState-Compression)。而且我还会查看我的数据,删除不必要的数据)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-03
  • 1970-01-01
  • 2010-11-02
  • 2013-09-22
  • 2012-09-14
相关资源
最近更新 更多