asp.net中各類數據控件,datalist、gridview、Repeater等分頁是最經常使用的功能,幾乎任何一個B/S項目,不管是系統仍是網站都會用到。
分頁時,讀取整個數據,直接綁定到控件,均可以實現分頁,可是大數據量下服務器的資源會佔用不少,爲了讓程序運行更有效率,每次只讀取當前頁數據。cPage和sqlserver語句結合起來可以輕鬆的實現這一功能,並且效率仍是很高的。詳細的demo在上一篇中。html
cPage詳細介紹以下:sql
cPage.dll,引用後,能夠看到其中的類和方法。
cPage中mPage類是用來分頁的類,調用mPage的getPage方法能夠返回分頁內容。服務器
引用asp.net
在解決方案的項目上右鍵「添加引用」,在彈出的選擇框裏找到cPage.dll。sqlserver
在要分頁的頁面cs文件中添加引用大數據
using cPage;
添加引用後mPage能夠直接使用,mPage其中getPage方法是分頁方法網站
mPage.getPage(_recordCount, _pageSize, _pageNum, p, out _beginIndex, out _endIndex, _url);
返回的是字符串,在aspx中能夠放在lable中url
完整使用以下:spa
一、aspx.net
/*------------分頁(新)------------*/ .pagenum{ padding:2px 6px 2px 6px; margin: 0 0 0 4px; text-align:center; border:1px solid #79b7e7;display:inline-block;} .pagenum:hover{border:1px solid #f5d37c; background-color:#fdf4de ; text- decoration:none; } .pagecur{background-color:#fdf4de; padding:2px 6px 2px 6px; margin: 0 0 0 4px; text- align:center; font-weight:bold; border:1px solid #f5d37c;display:inline-block;} .pagecur:hover{border:1px solid #f5d37c; background-color:#fdf4de ; text- decoration:none; } .pagecolor{color:#3f3f3f;} .pagecolorc{color:#FF6600;font-weight: bold;} /*------------分頁(新)------------*/ <asp:Label ID="lblpage" runat="server"></asp:Label>
二、aspx.cs
lblpage.Text = mPage.getPage(_recordCount, _pageSize, _pageNum, p, out _beginIndex, out _endIndex, _url);
生成效果就是
getPage參數介紹:
recordCount:記錄總數
pageSize:每頁記錄數
pageNum:中間頁碼數
pageIndex:當前頁碼
beginIndex:返回的首記錄標識
endIndex:返回的尾記錄標識
clink:連接地址
若是是藉助分頁存儲過程,就很容易了,若是不是能夠參考使用下面的sql語句,2005版本後的均可以使用
//sql server 分頁代碼(sql server 2005後版本可用) sql = "WITH NoPagedTable AS (" + "SELECT ROW_NUMBER() OVER (" + sqlorder + ") AS rowIndex, " + " * " + " FROM " + sqltable + " " + ")select * from NoPagedTable WHERE rowIndex>=" + _beginIndex + " and rowIndex<=" + _endIndex; //
版權全部,bubufx,禁止轉載!