孟繁靜
摘要:分頁技術(shù)是Web項(xiàng)目中常用的功能之一,該文針對(duì)數(shù)據(jù)分頁的可重用率較高的特點(diǎn),設(shè)計(jì)開發(fā)了基于ASP.NETMVC 4數(shù)據(jù)分頁組件,以案例的方式詳細(xì)介紹了數(shù)據(jù)分頁組件的設(shè)計(jì)與實(shí)現(xiàn)過程,提供了較為完整的技術(shù)參考。
關(guān)鍵詞:Web項(xiàng);ASP.NET;MVC 4;數(shù)據(jù)分頁
1概述
在Web項(xiàng)目開發(fā)過程中,經(jīng)常需要使用動(dòng)態(tài)網(wǎng)頁技術(shù)從數(shù)據(jù)庫中查詢大量數(shù)據(jù)顯示在Web客戶端,如果一次將查詢結(jié)果全部顯示不僅頁面過長,也會(huì)增加服務(wù)器CPU運(yùn)行負(fù)擔(dān),所以分頁技術(shù)尤為必要,頁面只顯示當(dāng)前頁數(shù)據(jù)。
本設(shè)計(jì)采用三層架構(gòu)的框架結(jié)構(gòu),數(shù)據(jù)訪問層調(diào)用分頁存儲(chǔ)過程的高效率設(shè)計(jì)方式,MVC4作為表示層,在表示層中設(shè)計(jì)自定義通用數(shù)據(jù)分頁組件。
2通用數(shù)據(jù)分頁組件的設(shè)計(jì)
實(shí)現(xiàn)數(shù)據(jù)分頁需要完成以下兩點(diǎn):1)獲取分頁數(shù)據(jù);2)實(shí)現(xiàn)分頁視圖,下面對(duì)這兩點(diǎn)分別做詳細(xì)分析:
2.1獲取分頁數(shù)據(jù)
分頁數(shù)據(jù)分析:獲取分頁數(shù)據(jù)需要獲取以下內(nèi)容:目標(biāo)數(shù)據(jù)(數(shù)據(jù)庫表、內(nèi)存集合數(shù)據(jù))、頁大小、頁索引、總頁數(shù)、總數(shù)據(jù)條數(shù)。
分頁數(shù)據(jù)源設(shè)計(jì):以List
2.2實(shí)現(xiàn)分頁視圖
以分頁類為基礎(chǔ),實(shí)現(xiàn)分頁導(dǎo)航,設(shè)計(jì)分頁視圖的擴(kuò)展方法,完成界面效果的輸出CSS,導(dǎo)航鏈接的生成,翻頁后數(shù)據(jù)的保持(表單提交數(shù)據(jù)、路由、URL數(shù)據(jù)等)
數(shù)據(jù)分頁實(shí)現(xiàn)思路:利用ASP.NETMVC4的ASPX視圖自定義HtmlHelper方法,將其封裝成一個(gè)分頁控件(Pager)。
1)提取數(shù)據(jù)源:數(shù)據(jù)源數(shù)據(jù)來源可以為數(shù)據(jù)庫查詢結(jié)果、文本文件、XML文件等,本文以提取數(shù)據(jù)庫查詢結(jié)果為例。
2)封裝成數(shù)據(jù)集:數(shù)據(jù)源提取之后在服務(wù)器端中形成數(shù)據(jù)集,將數(shù)據(jù)集封裝到一個(gè)容器(List
3)生成分頁頁面:將封裝成數(shù)據(jù)集的數(shù)據(jù),通過控制器類傳遞給頁面,并予以顯示。
3通用數(shù)據(jù)分頁組件的實(shí)現(xiàn)
3.1類的設(shè)計(jì)與代碼實(shí)現(xiàn)
11PageList
3.2類之間的調(diào)用
本系統(tǒng)使用三層架構(gòu),在使用ASP.NETMVC示數(shù)據(jù)分頁過程中,在Controller控制器層綁定分頁數(shù)據(jù)源PageList
3.3數(shù)據(jù)源的封裝
該文由于主要討論數(shù)據(jù)分頁的方法,數(shù)據(jù)源的獲取使用了數(shù)據(jù)訪問層從數(shù)據(jù)庫中查詢獲得,業(yè)務(wù)邏輯層調(diào)用數(shù)據(jù)訪問層,表示層的控制器調(diào)用業(yè)務(wù)邏輯層獲取數(shù)據(jù)源的方式,假設(shè)查詢圖書信息表,關(guān)鍵代碼如下:
3.4在客戶端調(diào)用分頁控件
由PageList
<%=Html.Page(Model、%>
4結(jié)論
在Web應(yīng)用程序開發(fā)中,數(shù)據(jù)分頁是經(jīng)常使用的一種技術(shù),該文在基于ASP.NET MVC 4技術(shù)的基礎(chǔ)上實(shí)現(xiàn)了一套具有可重復(fù)性和可擴(kuò)展性的分頁組件,該模型已經(jīng)在《CRM客戶關(guān)系管理系統(tǒng)》等系統(tǒng)中得到實(shí)際應(yīng)用。