asp.net分頁功能實(shí)現(xiàn)
說一下實(shí)現(xiàn)分頁的思路
這里的分頁用到了一個(gè)組件 AspNetPage.dll,這個(gè)組件大家可以到網(wǎng)上去下載,我這里就不提供了
添加最近到工具箱中這樣我們就可以像其他控件一樣拖拽使用了
如圖DataPage是在工具箱中的,至于怎么添加你們百度吧
拖拽到頁面中如圖
這個(gè)是我加完樣式后顯示的效果,怎么樣是不是你們想要的了,如果不是你們還可以修改樣式樣式稍候奉上
先來看看要怎么使用
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="true" PageSize="20" CssClass="paginator" CurrentPageButtonClass="cpb" LastPageText="尾頁" FirstPageText="首頁" PrevPageText="上一頁" NextPageText="下一頁" UrlPaging="false" NumericButtonTextFormatString="{0}" ShowCustomInfoSection="Left" onpagechanged="AspNetPager1_PageChanged" CustomInfoTextAlign="Left" LayoutType="Table" > </webdiyer:AspNetPager>
這個(gè)就是分頁控件生成的代碼
其中顯示的首頁,上一頁,下一頁,尾頁,這些都可以在屬性中定下要顯示什么,也可以是圖片,具體的要靠你們自己去研究了
PageSize屬性設(shè)置每頁顯示的條數(shù)
UrlPageing這個(gè)屬性可以設(shè)置分頁的提交的方式,設(shè)置為true時(shí)使用url傳遞參數(shù)提交(經(jīng)過自己測試這樣頁面會(huì)刷新,所以我沒有使用url傳遞參數(shù)提交)
ShowCustomInfoSection設(shè)置顯示的的位置 有左中右三個(gè)值,至于什么意思你懂的
onpagechanged這個(gè)事件為點(diǎn)擊分頁按鈕時(shí)的事件,奉上代碼
//分頁事件 protected void AspNetPager1_PageChanged(object sender, EventArgs e) { BindView(ViewState["dataSource"] as List<Tbl_Teacher>); }
這里我調(diào)用了一個(gè)自定義綁定數(shù)據(jù)源的方法BindView
//綁定數(shù)據(jù)源 public void BindView(List<Tbl_Teacher> ls) { this.AspNetPager1.RecordCount = ls.Count(); this.GridView1.DataSource = ls.Skip((AspNetPager1.CurrentPageIndex - 1) * AspNetPager1.PageSize).Take(AspNetPager1.PageSize); this.GridView1.DataBind(); this.AspNetPager1.CustomInfoHTML = string.Format("當(dāng)前第{0}/{1}頁 共{2}條記錄 每頁{3}條", new object[] { this.AspNetPager1.CurrentPageIndex, this.AspNetPager1.PageCount, this.AspNetPager1.RecordCount, this.AspNetPager1.PageSize }); }
這里是綁定數(shù)據(jù)源,為了方便我使用的是linq來進(jìn)行的分頁,當(dāng)然這里可以任由你來更改,可以使用存儲(chǔ)過程,也可以傳遞直接用sql查詢,主要就兩個(gè)參數(shù),
一個(gè)顯示的條數(shù),一個(gè)當(dāng)前的頁數(shù),相信對于你們來說都不難事
到這里基本上已經(jīng)貼出了所有代碼,可能描述的不是很清楚,但也就這樣了,本人水平有限。下面貼上兩種樣式:
<style type="text/css"> /*拍拍網(wǎng)風(fēng)格*/ .paginator { font: 11px Arial, Helvetica, sans-serif;padding:10px 20px 10px 0; margin: 0px;} .paginator a {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;margin-right:2px} .paginator a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;} .paginator .cpb {padding: 1px 6px;font-weight: bold; font-size: 13px;border:none} .paginator a:hover {color: #fff; background: #ffa501;border-color:#ffa501;text-decoration: none;} /*淘寶風(fēng)格*/ .paginator { font: 12px Arial, Helvetica, sans-serif;padding:10px 20px 10px 0; margin: 0px;} .paginator a {border:solid 1px #ccc;color:#0063dc;cursor:pointer;text-decoration:none;} .paginator a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;} .paginator .cpb {border:1px solid #F50;font-weight:700;color:#F50;background-color:#ffeee5;} .paginator a:hover {border:solid 1px #F50;color:#f60;text-decoration:none;} .paginator a,.paginator a:visited,.paginator .cpb,.paginator a:hover {float:left;height:16px;line-height:16px;min-width:10px;_width:10px;margin-right:5px;text-align:center; white-space:nowrap;font-size:12px;font-family:Arial,SimSun;padding:0 3px;} </style>
總結(jié):這個(gè)分頁組件與數(shù)據(jù)分離,只提供了顯示頁數(shù)的功能,數(shù)據(jù)可以根據(jù)組件記錄的頁數(shù)和條數(shù)來進(jìn)行綁定數(shù)據(jù)源,還是很方便的。
如果ASP.NET實(shí)現(xiàn)分頁功能的描述還不夠完整,還請你們補(bǔ)上,大家共同學(xué)習(xí)。
- 一句話輕松搞定asp.net分頁
- ASP.NET MVC分頁和排序功能實(shí)現(xiàn)
- ASP.NET MVC+EF在服務(wù)端分頁使用jqGrid以及jquery Datatables的注意事項(xiàng)
- ASP.NET MVC 2右鍵菜單和簡單分頁實(shí)例講解
- ASP.NET無刷新分頁簡單實(shí)現(xiàn)
- ASP.NET 高性能分頁代碼
- Asp.net GridView使用大全(分頁實(shí)現(xiàn))
- Asp.Net中的三種分頁方式總結(jié)
- Asp.Net數(shù)據(jù)控件引用AspNetPager.dll分頁實(shí)現(xiàn)代碼
- MVC異步分頁代碼分享
相關(guān)文章
asp.net 數(shù)據(jù)庫的連接和datatable類
asp.net下數(shù)據(jù)庫的連接與數(shù)據(jù)庫datatable類實(shí)現(xiàn)代碼。2009-05-05.NET?6?跨服務(wù)器聯(lián)表查詢操作MySql、Oracle、SqlServer等相互聯(lián)表
這篇文章主要介紹了.NET?6?跨服務(wù)器聯(lián)表查詢,?MySql、Oracle、SqlServer等相互聯(lián)表,在這里給大家普及下什么是多庫架構(gòu)ORM就是說一個(gè)對象可以同時(shí)操作和管理多個(gè)數(shù)據(jù)庫 我們稱為多庫架構(gòu),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10.NETCore添加區(qū)域Area代碼實(shí)例解析
這篇文章主要介紹了.NETCore添加區(qū)域Area代碼實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07ASP.NET Core 奇技淫巧之接口代理轉(zhuǎn)發(fā)的實(shí)現(xiàn)
這篇文章主要介紹了ASP.NET Core 奇技淫巧之接口代理轉(zhuǎn)發(fā)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08ASP.NET Core應(yīng)用錯(cuò)誤處理之ExceptionHandlerMiddleware中間件呈現(xiàn)“定制化錯(cuò)誤頁面”
這篇文章主要給大家介紹了關(guān)于ASP.NET Core應(yīng)用錯(cuò)誤處理之ExceptionHandlerMiddleware中間件呈現(xiàn)“定制化錯(cuò)誤頁面”的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧2019-01-01WPF實(shí)現(xiàn)帶全選復(fù)選框的列表控件
這篇文章主要為大家詳細(xì)介紹了WPF實(shí)現(xiàn)帶全選復(fù)選框的列表控件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06ASP.NET下將Excel表格中的數(shù)據(jù)規(guī)則的導(dǎo)入數(shù)據(jù)庫思路分析及實(shí)現(xiàn)
今天接到新的需求,要求將Excel表格中的數(shù)據(jù)顯示在頁面上個(gè)人想法:首先是規(guī)則的Excel數(shù)據(jù)導(dǎo)入,再有就是不規(guī)則的Excel數(shù)據(jù)導(dǎo)入,還有就是根據(jù)數(shù)據(jù)生成Excel2013-01-01