asp.net自制分頁頁碼條控制元件
用過微軟的伺服器控制元件分頁的人都知道~那卡的一A啊~
遂想自制分頁頁碼條控制元件以備不時之需。
走你~
public static class PageShow
{
/// <summary>
/// 分頁頁碼條
/// </summary>
/// <param name="requestHref">請求的地址</param>
/// <param name="totalCount">資料總條數</param>
/// <param name="currentPage">當前頁碼</param>
/// <param name="pageSize">每頁個數</param>
/// <returns></returns>
public static string Show(string requestHref, int totalCount, int currentPage, int pageSize)
{
//初始化pageSize和totalPages
pageSize = pageSize == 0 ? 6 : pageSize;//預設為每頁顯示6條資料
var totalPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1);//Math.Ceiling(totalCount / (pageSize / 1.0));//使用Ceiling函式也可以,效果是一樣的,根據資料的總條數和每頁要顯示的個數,計算出總頁數,如:共有96條資料,每頁顯示6條,則總頁數為16
var outPut = new StringBuilder();//構建輸出字串
outPut.AppendFormat("<div class='pagination'>");//所有的樣式需要自定義
//當總頁數大於一頁才分頁顯示,否則直接顯示出該頁
if (totalPages > 1)
{
//當前頁面不是第一頁的時候顯示首頁連結
if (currentPage != 1)
{
outPut.AppendFormat("<a class='pageLink' href='{0}pageIndex=1&&pageSize={1}'>首頁</a>"
, requestHref, pageSize);
}
//當前頁面大於第一頁的時候顯示上一頁連結
if (currentPage > 1)
{
outPut.AppendFormat("<a class='pageLink' href='{0}pageIndex={1}&&pageSize={2}'>上一頁</a>"
, requestHref, currentPage - 1, pageSize);
}
//否則上一頁無法點選
else
{
outPut.AppendFormat("<span class='disabled'>上一頁</span>");
}
outPut.Append(" ");
//迴圈輸出頁面列表
const int currint = 3;
//最多有6個超連結,前3個後3個
for (int i = 0; i < 6; i++)
{
if (currentPage + i - currint >= 1 && currentPage + i - currint <= totalPages)
{
if (currint == i)
{
outPut.AppendFormat("<span class='disabled'>{0}</span>", currentPage + i - currint);
}
else
{
outPut.AppendFormat("<a class='pageLink' href='{0}pageIndex={1}&&pageSize={2}'>{3}</a>"
, requestHref, currentPage + i - currint, pageSize, currentPage + i - currint);
}
}
outPut.Append(" ");
}
if (currentPage < totalPages)
{
outPut.AppendFormat("<a class='pageLink' href='{0}pageIndex={1}&&pageSize={2}'>下一頁</a>"
, requestHref, currentPage + 1, pageSize);
}
else
{
outPut.AppendFormat("<span class='disabled'>下一頁</span>");
}
outPut.Append(" ");
if (currentPage != totalPages)
{
outPut.AppendFormat("<a class='pageLink' href='{0}pageIndex={1}&&pageSize={2}'>末頁</a>"
, requestHref, totalPages, pageSize);
}
outPut.Append(" ");
}
outPut.AppendFormat("第{0}頁/共{1}頁", currentPage, totalPages);
outPut.AppendFormat("</div>");
return outPut.ToString();
}
}
相關文章
- asp.net DataList控制元件分頁程式碼ASP.NET控制元件
- asp.net分頁控制元件AspNetPager的使用,使用傳統分頁和儲存過程分頁ASP.NET控制元件儲存過程
- Asp.Net分頁生成頁碼超連結方法ASP.NET
- 【twfx118 】Asp.net分頁控制元件ASP.NET控制元件
- ASP.NET中Repeater控制元件實現分頁功能ASP.NET控制元件
- 自定義分頁控制元件控制元件
- asp.net core mvc 分頁ASP.NETMVC
- asp.net 內容頁訪問母版頁中的控制元件ASP.NET控制元件
- asp.net利用儲存過程分頁程式碼ASP.NET儲存過程
- asp.net 簡單分頁列印ASP.NET
- asp.net mvc簡單實現基於Razor的分頁控制元件ASP.NETMVC控制元件
- Flutter 分頁功能表格控制元件Flutter控制元件
- AspNetPager分頁控制元件的使用控制元件
- Repeater控制元件的分頁實現控制元件
- 動態SQL-條件分頁SQL
- 菜品條件分頁查詢
- js 自制解碼.rpgsave存檔的網頁JS網頁
- 靜態頁分頁功能js程式碼JS
- asp.net mvc easyui datagrid分頁ASP.NETMVCUI
- SQL 單表多條記錄分組查詢分頁程式碼SQL
- 程式碼 ajax分頁
- php分頁程式碼PHP
- ASP.NET效能優化-頁面及控制元件ASP.NET優化控制元件
- 分頁控制元件及儲存過程控制元件儲存過程
- 分頁按頁碼讀取redis資料Redis
- asp.net 在使用母版頁的子頁面cs後臺程式碼中控制母版頁中的登入控制元件顯示ASP.NET控制元件
- DataTables自定義分頁條數實現
- ASP.net中的幾種分頁方法ASP.NET
- mysql分頁-limit offset分頁MySqlMIT
- asp.net中分頁控制元件AspNetPager美化樣式ASP.NET控制元件
- 使用SSH完成條件及分頁查詢的主要程式碼
- 分頁元件原始碼分享元件原始碼
- asp.net SQL Server 儲存過程分頁及程式碼呼叫ASP.NETSQLServer儲存過程
- 一個比較好用的分頁控制元件控制元件
- QT分頁控制元件,開源,供大家使用QT控制元件
- DataList控制元件也玩分頁-轉貼 (轉)控制元件
- flask 分頁 | 翻頁Flask
- SAP UI5 列表控制元件分頁顯示資料時,如何自定義分頁大小UI控制元件