Razor CSHTML分页并在每页上显示记录号范围

时间:2014-09-09 04:33:38

标签: asp.net razor webmatrix webgrid asp.net-webpages

我有一个带WebGrid的简单Webmatrix Razor页面。 分页设置为true,我每页显示100条记录。 问题是,如何显示每个页面显示的记录范围? 例如,在网格的第1页底部我想说'显示记录1 - 100' 然后当有人点击网格的第2页时,我希望它说“显示记录101 - 200”等等。

我搜索但无法弄清楚如何做到这一点。 我知道如何使用

获取所有页面的总行数
grid.TotalRowCount

我还可以使用

获取每页的行数(在我的情况下,每行为100行)
grid.RowsPerPage

不确定如何获取每页显示行的范围。 我想到获取当前显示的网格页面的页码并执行类似这样的操作'显示记录:((grid.RowsPerPage *当前页码) - 99)到(grid.RowsPerPage *当前页码)

我认为以上内容可行,但我不知道如何获取当前页码。我只能找到给我总页数的选项。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:2)

因为您知道页面上只显示100个以及将在网页上显示的数据编号。您可以编辑网格的页脚并写下您在URL中找到的详细信息,如Mike在评论中所述,

var currentIndex = UrlData[0];
// or, use Request.QueryString["page"];
// if, URL is like /search?page=1
var endIndex = currentIndex * 100; // results 100, 200, 300...
var startIndex = endIndex - 99; // results 1, 101, 201...

..期望网址为http://www.example.com/page/1

然后您可以将其显示为

<div>
   Showing pages from @startIndex to @endIndex.
</div>

这将导致您尝试实现的功能。