用于刷新页面和/或telerik网格的JavaScript代码

时间:2011-04-06 11:01:07

标签: c# javascript .net asp.net telerik-grid

我需要某种代码,它会每5分钟刷新一次页面,如果没有页面,那么只显示Telerik网格,因为这是所有需要的。

如果可能的话,只有在页面上没有活动5分钟后才会出现其他事情,但这不是核心功能。

6 个答案:

答案 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方法的答案结合起来,它应该会给你你想要的东西。