如何使用分页显示IList <t>

时间:2018-03-03 22:37:41

标签: c# asp.net-mvc pagination

我有一个错误列表,我需要在浏览器中显示分页,但是,我不是从数据库中提取数据,我是基于许多业务逻辑构建此模型的,这个列表可能是最多1000件或更多。所有项目都需要在前端提供,滚动的许多项目对用户来说很麻烦,这就是我在这里需要分页机制的原因。

注意:我正在使用asp.net MVC框架

而且,这是我的错误模型

public class ErrorViewModel
{
    public string ErrorType { get; set; }
    public string ErrorMessage { get; set; }
    public string AdditionalMessage { get; set; }
}

2 个答案:

答案 0 :(得分:0)

您可以使用提供客户端搜索和分页的DataTables插件(服务器将所有数据传送到客户端,不推荐,但这是您要求的)。

首先,下载DataTables插件并将其包含在项目和布局文件中。

其次,您需要使用Razor语法呈现HTML表。

@model IEnumerable<ErrorViewModel>

<table class="data-table">
    <thead>
        <tr>
            <th>Error type</th>
            <th>Error message</th>
            <th>Additional message</th>
        </tr>
    </thead>
    <tbody>
        @foreach(var item in Model)
        {
            <tr>
                <td>@Model.ErrorType</td>
                <td>@Model.ErrorMessage</td>
                <td>@Model.AdditionalMessage</td>
            </tr>
        }
    </tbody>
</table>

第三,在布局文件的末尾添加此代码(导入jQuery和DataTables插件后。)。

<script>
    $(document).ready(function() {
        $('.data-table').DataTable();
    });
</script>

此处示例: jsbin.com

答案 1 :(得分:0)

根据Spectarion的建议,您可以使用DataTables插件。由于您使用的是ASP.net MVC,我建议使用DataTables.ASPNet,它为jQuery DataTables提供了很好的服务器端支持和帮助。它易于使用,只需按照文档并下载示例项目即可。