VS.2010.C#.LINQ 學習(四)-修改後的分頁

接第三章中進行優化分頁

        public static List<T> GetPageList<T>(this List<T> list, int currentPage, int pageSize)
        {
            if (list == null || list.Count < 1)
            {
                return new List<T>();
            }
            int totalitem = list.Count;
            // 計算當前頁(大於最後頁數當前頁爲最後頁數)
            int lastPage = totalitem % pageSize == 0 ? totalitem / pageSize : (totalitem / pageSize) + 1;
            if (lastPage < currentPage)
            {
                currentPage = lastPage;
            }
            // 跳過 (當前頁碼 -1) * 每頁顯示條數
            int skip = (currentPage - 1) * pageSize;
            skip = skip <= 0 ? 0 : skip;

            return list.Skip(skip).Take(pageSize).ToList();
        }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章