我需要某种代码,它会每5分钟刷新一次页面,如果没有页面,那么只显示Telerik网格,因为这是所有需要的。
如果可能的话,只有在页面上没有活动5分钟后才会出现其他事情,但这不是核心功能。
答案 0 :(得分:6)
一种可能性是使用元刷新标记:
<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。
答案 1 :(得分:5)
保持简单,在需要刷新网格时调用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);
答案 2 :(得分:3)
setTimeout(function(){
window.location.reload();
},300000);
答案 3 :(得分:3)
如果您的网格设置为ajax刷新,那么您可以使用类似
的内容 <script type="text/javascript">
$(function() {
setInterval(function() {
$('#GridName').data('tGrid').ajaxRequest();
}, 300000);
});
</script>
答案 4 :(得分:1)
对于服务器绑定Telerik Grid只需要执行以下操作.....只需使用和欢呼
任何事件发生后你都可以打电话给
var href = $('.t-refresh').attr('href');
window.location.href = href;
答案 5 :(得分:0)
如果您在Telerik Grid上使用Ajax或Webservice绑定,则可以在网格对象上调用rebind()方法。这将迫使它再次调用绑定的Select方法以获取最新数据。
如果你将rebind()调用与Darin使用SetInterval方法的答案结合起来,它应该会给你你想要的东西。