国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ASP.NET MVC 4數(shù)據(jù)分頁組件的設(shè)計(jì)與實(shí)現(xiàn)

2017-07-27 21:06孟繁靜
電腦知識(shí)與技術(shù) 2017年11期
關(guān)鍵詞:表示層數(shù)據(jù)源調(diào)用

孟繁靜

摘要:分頁技術(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為數(shù)據(jù)源,實(shí)現(xiàn)獲取分頁數(shù)據(jù)功能類,其中包括屬性(必要:頁大小、索引、總頁數(shù)、總數(shù)據(jù)條數(shù),輔助:是否含上一頁、下一頁)、構(gòu)造函數(shù)、基類為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)當(dāng)中,作為數(shù)據(jù)分頁的數(shù)據(jù)輸入。

3)生成分頁頁面:將封裝成數(shù)據(jù)集的數(shù)據(jù),通過控制器類傳遞給頁面,并予以顯示。

3通用數(shù)據(jù)分頁組件的實(shí)現(xiàn)

3.1類的設(shè)計(jì)與代碼實(shí)現(xiàn)

11PageList類。該類繼承自List,主要作為一個(gè)數(shù)據(jù)源類。定義如圖1:

3.2類之間的調(diào)用

本系統(tǒng)使用三層架構(gòu),在使用ASP.NETMVC示數(shù)據(jù)分頁過程中,在Controller控制器層綁定分頁數(shù)據(jù)源PageList,再將PageList類返回的結(jié)果集顯示到客戶端,并調(diào)用Html.Page在客戶端予以顯示。類之間的調(diào)用關(guān)系如下圖2所示:

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返回了已經(jīng)重組好的數(shù)據(jù)集,并傳遞到View視圖中顯示,這時(shí)視圖顯示的記錄為當(dāng)前頁的記錄,關(guān)鍵代碼如下:

<%=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)用。

猜你喜歡
表示層數(shù)據(jù)源調(diào)用
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評(píng)價(jià)研究
基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
ASP.NET三層構(gòu)架解析
基于SSH框架科研管理系統(tǒng)的設(shè)計(jì)
基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評(píng)價(jià)算法
分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢?cè)O(shè)計(jì)與實(shí)現(xiàn)
利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
余姚市| 吴忠市| 汝城县| 卓资县| 苏州市| 沭阳县| 拉萨市| 佛坪县| 原阳县| 天水市| 邹城市| 鄯善县| 通州市| 临清市| 株洲县| 遵义县| 阿勒泰市| 仪征市| 星子县| 汉沽区| 丰城市| 和顺县| 景泰县| 滕州市| 和龙市| 阳泉市| 延川县| 梓潼县| 镇赉县| 凤山市| 通山县| 洪洞县| 炎陵县| 乌鲁木齐县| 溆浦县| 兴义市| 石河子市| 潜山县| 南城县| 巴林左旗| 秦皇岛市|