【发布时间】:2012-04-17 17:12:06
【问题描述】:
我的场景:
客户端登录后,我的用户将被重定向到 index.aspx 页面。 在此页面中,我将在其中放置一个带有 gridview 的 div。 此网格视图将显示一个表中的数据。
我的问题是:如何始终刷新此 gridview 一条记录 保存在这张桌子上?
Ps.:我见过很多使用“服务器推送”技术、comet、ajax 等的例子。 不知道最好的方法,也找不到一个非常简单的例子。
【问题讨论】:
我的场景:
客户端登录后,我的用户将被重定向到 index.aspx 页面。 在此页面中,我将在其中放置一个带有 gridview 的 div。 此网格视图将显示一个表中的数据。
我的问题是:如何始终刷新此 gridview 一条记录 保存在这张桌子上?
Ps.:我见过很多使用“服务器推送”技术、comet、ajax 等的例子。 不知道最好的方法,也找不到一个非常简单的例子。
【问题讨论】:
将新记录添加到表中时,真正的挑战是将这些更改实时传达给客户端,而不需要间隔轮询或需要某种用户交互。
你有几个选择:
最好的办法是使用WebSocket,它可以实现客户端和服务器之间的双向通信。这是我会选择的解决方案。
这里有一些使用WebSockets的例子:
周围也有一些很好的库可以处理大部分的腿部工作。要检查的一对是WebSync 和PokeIn。这两种产品都提供了不错的文档和社区版本,您可以免费下载。
这里有一些教程可以查看:
使用 AJAX 每隔 X 秒数轮询一次更改。如果检测到更改重新加载页面,否则什么也不做。
【讨论】:
recordsDisplayed != existingRecords,则使用异步回调重新绑定网格。
WebSockets,而不是AJAX轮询。
您可以使用 setinterval javascript 方法。我充当计时器并使用提交表单来刷新页面。其他方法可以是asp.net ajax toolkit timer control here
【讨论】:
将您的网格放入更新面板并将“更新模式”设置为始终
【讨论】:
您可以使用在后台使用 AJAX 的更新面板。请参阅此link 以获得简短的演示。
【讨论】:
你也可以使用普通的旧 html
<META HTTP-EQUIV="REFRESH"
CONTENT="15;URL=http://www.I18nGuy.com/index.html">
【讨论】: