Razor foreach vs Jquery。每次显示表,哪个更好?

时间:2016-12-14 07:02:03

标签: c# jquery asp.net asp.net-mvc razor

让我们假设你必须在你的网站上显示数据库表数据,它有大约1000-4000行。你会怎么做?使用简单的剃须刀foreach:

  <tbody>
    @foreach (var item in Model.LoadServiceList) {
    <tr>
      <td>
        <b>@item.kvab.ToString()</b>
      </td>
      <td>
        <b>@item.kw_demand.ToString()</b>
      </td>
      <td>
        <b>@item.kva_demand.ToString()</b>
      </td>
    </tr>
    }
  </tbody>

success: function (response) {
        var trHTML = '';
        $.each(response, function (i, item) {
            trHTML += '<tr><td>' + item.rank + '</td><td>' + item.content + '</td><td>' + item.UID + '</td></tr>';
        });
        $('#records_table').append(trHTML);
    }

没有自定义分页,哪一个会更快/更好?为什么?

3 个答案:

答案 0 :(得分:1)

为此使用服务器端数据表的最佳方法。它为您提供:

Ordering on columns
Searching
Pagination
Change no of rows to be displayed
and may more...

最好的部分是它没有任何额外的开销,因为它获取指定的no。使用 LIMIT

显示的记录数

Datatable Reference

答案 1 :(得分:1)

如果使用jquery循环,页面加载速度更快.Jquery将在页面加载后继续获取数据。如果使用razor foerach页面等待,直到加载数据。

答案 2 :(得分:0)

这取决于,当用户在表单内部执行某些操作(例如单击按钮)时,通常会使用jquery,当您必须使用模型并使用返回的值填充页面时,将使用Razor循环。 Imo如果你已经返回了一个模型我将使用Razor创建表,但如果你想要你可以使用jqgrid插件来创建很酷的自定义表。这是文档:http://www.trirand.com/jqgridwiki/doku.php