1
我爲我的視圖創建了一個分頁系統,根據視圖中顯示的列值顯示排序的前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;
}
,但顯然這是荒謬的。我應該在這裏做什麼?