2012-04-17 63 views
3

我的场景:在特定表格中添加新行时刷新客户端浏览器

客户端登录后,我的用户将被重定向到index.aspx页面。 在这个页面里面我会把一个div与gridview放在一起。 这个gridview将显示来自一个表的数据。

我的问题是:如何刷新这个gridview总是有一条记录是 保存在这张表上?

诗:从来就看到了很多使用“服务器推” TECNOLOGY,彗星,AJAX等 鸵鸟政策知道做到这一点的最佳途径,不容找到一个非常简单的例子,例子。

回答

2

当一个新的记录添加到该表中,真正的挑战是连通而不轮询间隔这些更改实时客户端或要求某种用户相互作用。

你有两个选择:

  1. 最好的办法是使用WebSocket,使客户端和服务器之间的双向通信。这是我会选择的解决方案。

    下面是使用WebSockets一些例子:


    还有一些很好的图书馆也会照顾大部分的腿部工作。一对夫妇退房是WebSyncPokeIn。这两款产品都提供体面的文档和社区版本,您可以免费下载。

    这里有一些教程来看看:

  2. 使用AJAX来轮询每变化X秒数。如果检测到更改,则重新加载该页面,否则不做任何事情。

+0

**使用AJAX每隔X秒轮询一次更改。如果检测到更改,请重新加载页面,否则不要执行任何操作。**您能否告诉我应该如何计算所做的更改? – Pankaj 2012-04-17 17:36:23

+0

@PankajGarg:你是什么意思计算所做的更改?对传入显示的记录数的函数进行AJAX调用,并返回一个布尔值。该方法将返回一个行计数,如果'recordsDisplayed!= existingRecords',用异步回调重新绑定网格。 – 2012-04-17 17:43:58

+0

更新时会发生什么情况? – Pankaj 2012-04-17 17:45:04

0

把你的网更新面板内,并设置“更新模式”始终

+0

你能告诉,我应该如何刷新此GridView的? – Pankaj 2012-04-17 17:15:54

+0

当它位于更新面板内且始终更新模式时,对网格的每次更改都将被捕获并刷新。你不需要做任何我认为的事情。 – ZERO 2012-04-17 17:20:09

+0

所以,我可以做到没有更新面板? – Pankaj 2012-04-17 17:21:52

0

您可以使用更新面板,使用AJAX的引擎盖下。请参阅此link进行简短的演示。

1

您可以使用setinterval javascript方法。我充当计时器并使用提交表单来刷新页面。其他方法可以ASP.NET AJAX工具箱定时器控制here

0

您也可以使用普通的老HTML

<META HTTP-EQUIV="REFRESH" 
CONTENT="15;URL=http://www.I18nGuy.com/index.html">