在ASP.NET MVC中自动刷新PartialView的最佳方法

时间:2014-06-16 19:19:23

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

我正在构建一个可以在电视机上运行的应用程序,它将每X秒刷新一次。

它是固定的时间,我不需要任何电话,因为我的应用程序将获取更新的数据,只需将用户放入表中即可。

我搜索并找到了很多解决方案,我想知道最适合我的情况,因为它看起来很简单。

作为它的电视,我将有一个固定的表(没有循环),所以我需要将值解决到表的特定TD。我将发送给视图的对象的想法是这样的:

List<Fields> ResultList = new List<Fields>() 
                        { new Fields { Field1 = 123, Field2 = "ABC"},
                          new Fields { Field1 = 456, Field2 = "DEF"}};

我的局部视图将有一个具有固定行数的表格,我将使用视图中的数据填充它们。

<table>
    <tr>
        <td id='row1a'></td>
        <td id='row1b'></td>
    </tr>
    <tr>
        <td id='row2a'></td>
        <td id='row2b'></td>
    </tr>
    <tr>
        <td id='row3a'></td>
        <td id='row3b'></td>
    </tr>
</table>

我需要将Field1发送至rowXa,将Field2发送至rowXb

我从来没有用ajax或jquery做任何事来执行它,这就是为什么我完全失去了这样做。 我的应用程序已经收集了数据,并且按照我的意愿完成所有内容。目前,我需要正确处理特定字段,并且没有起点。

提前致谢

1 个答案:

答案 0 :(得分:1)

我觉得最简单的方法是使用“拉”解决方案:

  • 在JavaScript中设置计时器
  • 使用它来启动对控制器的Ajax调用,该调用将以HTML格式返回部分视图
  • 局部视图是首先生成表格的视图
  • 将表格替换为返回的HTML

另一种选择是使用计时器轮询更改的值,并仅更新表中的各个行以获取更改的数据。

选择取决于表格中的行数。

<强>更新

根据以下信息,我将从最简单的解决方案开始,只有在有任何显示或时序问题时才查看其他选项。通过设置行和单元格ID,只更新单个单元格就可以了,但可能会过度杀死。

您还可以执行表刷新,按顺序替换每一行,这可能会提供更静态的视图。