0

我有一个从数据库查询的 ASPX 页面。一旦我们有了数据集,它就会绑定到一个 gridview 并显示在页面上。所有这些都发生在 Page_Load 事件中。

当然这是一种简单的方法。通知用户正在检索数据以及何时我们有数据以使用数据集中的结果更新页面的最佳方式是什么?

我希望所有这些都发生在同一个 ASPX 页面中,并且不想在页面之间跳来跳去来实现这一点。我查看了更新面板,但我不清楚如何在没有触发更新面板更新的控件的情况下使用更新面板完成此操作。我的页面上没有启动数据库查询的控件,它在页面加载时发生。

如果我在工作线程中进行查询,然后调用 UpdatePanel 上的 Update 方法,并将 gridview 作为其中的一部分,则它不起作用。什么都没发生。

有什么想法或帮助吗?谢谢。

4

1 回答 1

0

嗯,这是个好问题。我个人有两种非常相似的方法来做到这一点:

  1. 有一个 java 脚本,它将在很短的时间间隔内重新加载 UpdatePanel。这将创建一系列回发到服务器。在每次回发期间,您应该检查您的工作线程并立即返回状态报告,通常是error, pending,之一success + data
  2. 使用 java 脚本,向 Web 服务发出异步请求,该请求将阻塞直到获取数据。与前一种方法相比,这种方法没有延迟(轮询之间的时间),但可能会受到某些浏览器/服务器对挂起打开连接的态度的影响。这通常通过引入一些间隔(比如 1 分钟)来解决,这样挂起的请求将返回类似 的消息need more time,在这种情况下,java 脚本应该简单地重复请求。
于 2010-07-30T15:41:51.017 回答