Я создаю пейджинговую систему для своего представления, в которой верхние 20 элементов (или меньше, если их меньше 20), упорядоченных по значению столбца, отображаются в представлении, тогда зритель может нажать «Страница 2», чтобы увидеть пункты 21 по 40 (или меньше, если меньше, чем 40 в общей сложности), а затем «Страница 3», чтобы увидеть элементы 41-60, и т.д. Мой контроллер имеет элементИспользование LINQ, как мне получить строки M через M + N?
private static const int _scoresPerPage = 20;
и я построить метод
public string getPageNRows (int N)
{
string scoresRowsHtml = String.Empty;
// ...
return scoresRowsHtml;
}
который извлекает информацию. Теперь я знаю, как получить 0
через ScoresController._scoresPerPage * N
, так что я мог технически сделать что-то вроде
public string getPageNRows (int N)
{
string scoresRowsHtml = String.Empty;
IQueryable<Score> table1 = (from s in this._SD.Scores
orderby s.score1 descending
select s
).Take(ScoresController._scoresPerPage * N);
IQueryable<Score> table2 = (from s in table1
orderby s.score1 ascending
select s).Take(ScoresController._scoresPerPage);
table2.Reverse();
// ...
return scoresRowsHtml;
}
, но очевидно, что это смешно. Что я должен здесь делать?