ASP.NET MVC分頁功能實現:PagedList
更多的權利,就意味著更多的責任。在MVC中,我們幾乎不再使用Drag and Drop來的各種控件,因此我們就不再受這些控件所提供的功能的限制,但是當然也就失去了這些控件所帶來的好處和便利。比如GridView以及它所附帶的分頁功能。本文將利用LINQ的defered execution的特性來實現一個通用的分頁和導航的PagedList,從而實現ASP.NET MVC分頁功能。
ASP.NET MVC分頁·CONTENT
為了使PagedList能有分頁和導航的功能,因此我們需要知道總共有多少行數據,需要有多少個也需要顯示。故可以定義這樣一個接口
為了使這個通用的PagedList能真正的“通用”,就需要時使用泛型。.Net已經提供了很好了一個很好的基類,我們繼承它就好了,同時實現IPagedList接口
對PagedList的構造函數中的最后一句代碼稍作解釋: index為從0開始計算的頁數,可以為Null, pageSize 為每頁顯示的記錄數。最后對ToList()的調用會使得這個IQueryable被執行,返回的List被加到這個PagedList中。
ASP.NET MVC分頁·Application
PagedList基本完成了,該實際應用了。在頁面文件中,根據PagedList的數據,對CSS做一些設置,就可以實現分頁和導航的功能。
OK,We have done here. ASP.NET MVC分頁功能實現。
這里沒想到好方法把Controller的信息加進去,只好暫時hard code了。
【編輯推薦】