【发布时间】:2011-07-30 17:33:03
【问题描述】:
我需要某种代码,它会每 5 分钟刷新一次页面,如果不是页面,则只显示 Telerik 网格,因为这就是所有需要的。
如果可能的话,只有在页面上没有任何活动 5 分钟后才会出现其他情况,但这不是核心功能。
【问题讨论】:
-
如果有谁对我投了反对票,我会很好地解释原因,这样我就可以改进/纠正错误的地方。
标签: c# javascript .net asp.net telerik-grid
我需要某种代码,它会每 5 分钟刷新一次页面,如果不是页面,则只显示 Telerik 网格,因为这就是所有需要的。
如果可能的话,只有在页面上没有任何活动 5 分钟后才会出现其他情况,但这不是核心功能。
【问题讨论】:
标签: c# javascript .net asp.net telerik-grid
一种可能性是使用元刷新标签:
<meta http-equiv="refresh" content="300" />
另一种可能性是使用window.setInterval 方法定期向控制器操作发送AJAX 请求并更新DOM:
window.setInterval(function() {
// Send an AJAX request to a controller action which will
// return a partial with the grid and update the DOM
$.ajax({
url: '/grid',
success: function(result) {
$('#someGridContainer').html(result);
}
});
}, 300000);
要实现空闲功能,您可以使用jquery idle plugin。
【讨论】:
保持简单,当你需要刷新网格时调用refreshGrid()函数。
function refreshGrid() {
if ($(".t-grid .t-refresh").exists()) {
$(".t-grid .t-refresh").trigger('click');
}
}
/*return true if does selected element exist.*/
(function ($) {
$.fn.exists = function () { return jQuery(this).length > 0; }
})(jQuery);
【讨论】:
setTimeout(function(){
window.location.reload();
},300000);
【讨论】:
如果您的网格设置为 ajax 刷新,那么您可以使用类似
<script type="text/javascript">
$(function() {
setInterval(function() {
$('#GridName').data('tGrid').ajaxRequest();
}, 300000);
});
</script>
【讨论】:
For Server Bindings Telerik Grid 只需要做下面的事情.....随便用,干杯
在任何事件之后你都可以调用它
var href = $('.t-refresh').attr('href');
window.location.href = href;
【讨论】:
如果您在 Telerik Grid 上使用 Ajax 或 Webservice 绑定,则可以在网格对象上调用 rebind() 方法。这将迫使它再次调用绑定的 Select 方法以获取最新数据。
如果您将 rebind() 调用与 Darin 的使用 SetInterval 方法的答案结合起来,它应该会为您提供您所追求的。
【讨论】: