jQuery数据表分页不适用于mvc视图

时间:2018-12-24 07:06:06

标签: asp.net-mvc datatables

我正在开发MVC应用程序。表数据从控制器作为视图返回。在剃刀视图中绑定行之后,我正在初始化数据表。没有返回的行数为50。 问题是,数据表显示所有50条记录,因此没有分页。我希望每页仅显示10条记录,然后分页。

此外,我不想逐页获取数据。在这种情况下,总数为50,由最终用户决定。这是主要原因,我选择数据表是因为它无需排序即可提供排序,搜索和分页功能。

因此,如果将数据绑定到DOM然后进行初始化,那么分页功能是否可以正常工作?如果没有,什么是最好的方法。 这是代码:

@model ResultOutput
<table class="tblKeyMetrics" role="grid">
        <thead>
            <tr role="row">
                <th class="">Value</th>                
                <th class="">Impressions</th>
            </tr>
        </thead>
        @if (Model.KeyMetrics != null && Model.KeyMetrics.Count > 0)
        {
          <tbody>
            for (int index = 0; index < Model.KeyMetrics.Count; index++)
            {
                KeyMetrics metric = Model.KeyMetrics[index];

                    <tr role="row">
                        <td>@metric.value</td>                        
                        <td>@metric.impressions</td>
                    </tr>                                        
            }
          </tbody>
        }
        else
        {
            <tbody>
                <tr class="row">
                    <td colspan="3">
                    No results found.
                    </td>
                </tr>
            </tbody>
        }
    </table>

<script>
$(document).ready(function () {
        InitializeDataTable($(".tblKeyMetrics"));
    });

function InitializeDataTable(tbl) {
    if (!$.fn.DataTable.isDataTable($(tbl))) {
        $(tbl).DataTable({
            pageLength: 10,
            iDisplayLength: 10,                
            "paging": true
        });
    }    
}
</script>

将jquery.dataTables.min.js v1.10.16与dataTables.bootstrap.min v3结合使用

0 个答案:

没有答案