关于DataGrid动态刷新的问题
我在WebForm中有一个DataGrid控件,用来显示从数据库中查询的记录集。
我看到有个timer控件,是一个服务端控件,我在timer触发的函数中更新了DataGrid的数据源并重新作了BindData.
现在,我希望客户端能够动态的显示新的数据。
请各位帮帮我。
(不用刷新页面来实现)
------解决方案--------------------不用刷新页面就只能用ajax从后台取数据显示
------解决方案--------------------用UpdatePanel把DataGrid包起来,方式为异步,数据变更后,重新绑定DataGrid,并调用UpdatePanel.Update()方法
应该能行,我没试
------解决方案--------------------用Ajax是可以的
我看到有个timer控件,是一个服务端控件,我在timer触发的函数中更新了DataGrid的数据源并重新作了BindData.
现在,我希望客户端能够动态的显示新的数据。
====================================
这个是根本不可行的,Http协议是无连接的,你这样操作相当于服务器定时和客户端通讯
------解决方案-------------------- <script> window.setTimeout( 'location.href=location.href ',120000); </script>
<meta http-equiv= "Refresh " content= "120 ">
------解决方案--------------------最简单的实现就是套到iframe,然后定时刷新iframe
<meta http-equiv= "Refresh " content= "120 ">
------解决方案--------------------我看到有个timer控件,是一个服务端控件,我在timer触发的函数中更新了DataGrid的数据源并重新作了BindData.
=======
1。
此方案不得行,Web服务器无法“推”数据给客户端,只有客户端请求,服务器才响应
2。
如果你是指定时自动刷新页面,只要简单的使用脚本控制:
<script type= "text/javascript ">
window.onload = function() {
window.setTimeout( "window.location.reload() ", 1000 * 1); // 每 1 秒刷新一次
}
</script>
3。
如果是无刷新整个页面加载 DataGrid 数据,那么考虑 AJAX
------解决方案--------------------动态的显示新的数据估计是不可能的了
如果你需要无刷新加载DataGird数据,可以使用Ajax或者是VS2005中的回调函数CallBack