每5秒刷新一次表数据

时间:2010-07-02 15:36:07

标签: jquery asp.net-mvc ajax asp.net-mvc-2

我现在处于设计阶段,想知道如何每隔5秒更新一次表格。

我的表格将显示从我的模型返回的只读数据。

通常我的视图只有<table></table> HTML,然后是foreach循环来写出数据。

但是因为我想每5秒刷新一次这个表,所以我不确定如何实现它。

我知道有javascript setinterval函数,但我也不确定该做什么。它会是这样的吗?

例如/

function getdata()
{
    $.getJSON("/mycontroller/mymethod"), 

                 function(data) {

                $.each(data, function(i, item) {
                    var row = {  item.ID, item.Date,
                         item.Title
                    };
               $(#table).tableInsertRows(row);
                });

            });
}
    setInterval( "getdata", 5000 );

1 个答案:

答案 0 :(得分:1)

mymethod操作呈现视图而不是返回JSON可能是最简单的。然后你可以将div的innerHTML设置为ajax响应。

否则您的方法将起作用,但您显然必须先删除现有的表行:

$('#table').tableRemoveRows({from:0, length:???});

修改

重新阅读您的问题,听起来您要求的更多关于setInterval而不是实际创建表格。你需要不断重新注册回调,所以像这样:

function getdata()
{
    $.getJSON("/mycontroller/mymethod"), function(data) {

        $.each(data, function(i, item) {
                var row = {  item.ID, item.Date,
                     item.Title
                };
           $(#table).tableInsertRows(row);
        });

        setInterval( getdata, 5000 );

    });
}
setInterval( getdata, 5000 );