日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

翻页导航条页码计算方法

發布時間:2023/11/27 生活经验 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 翻页导航条页码计算方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在開發搜索引擎等應用時,提供一個翻頁導航條是必須的。我看過網上一些相關的代碼,搞得很復雜。暈~~~ 其實其數學計算公式非常簡單,本文提供兩種最常用的算法。

翻頁式

樣式如下。每次顯示10個頁碼,并提供"前十"、"后十"翻頁。
[1] 2 3 4 5 6 7 8 9 10 下十頁 末頁
1 2 3 4 5 6 [7] 8 9 10 下十頁 末頁
1 2 3 4 5 6 7 8 9 [10] 下十頁 末頁
首頁 前十頁 [11] 12 13 14 15 16 17 18 19 20 下十頁 末頁
首頁 前十頁 11 12 13 14 15 [16] 17 18 19 20 下十頁 末頁
計算公式:(當前頁序號最小值為1)
int x = 當前頁序號 / 10;
if (當前頁序號 % 10 == 0) --x;
int startPage = (x * 10) + 1;
int endPage = Math.Min(總頁數, startPage + 9);
生成翻頁式導航代碼演示:
private string GetNavBarHtml(string s, int pageIndex, int pageCount)
{
????// 計算顯示頁碼
????int x = pageIndex / 10;
????if (pageIndex % 10 == 0) --x;
????int startPage = (x * 10) + 1;
????int endPage = Math.Min(pageCount, startPage + 9);

????// 生成換頁代碼
????System.Text.StringBuilder sb = new StringBuilder();
????string url = "<a href = \"search.aspx?s={1}&page={2}\">{0}</a>";

????if (startPage > 1)
????{
??????sb.Append(String.Format(url, "首頁", s, 1));
??????sb.Append("&nbsp");
??????sb.Append(String.Format(url, "前十頁", s, startPage - 1));
??????sb.Append("&nbsp");
????}
????
????for (int i = startPage; i <= endPage; i++)
????{
??????if (i != pageIndex)
????????sb.Append(String.Format(url, i, s, i));
??????else
????????sb.Append(string.Format("[{0}]", i));
??????
??????sb.Append("&nbsp");
????}

????if (pageCount > endPage)
????{
??????sb.Append(String.Format(url, "后十頁", s, endPage + 1));
??????sb.Append("&nbsp");
??????sb.Append(String.Format(url, "末頁", s, pageCount));
????}
????
????return sb.ToString();
}
滾動式

樣式如下。將當前頁碼放在中間,滾動兩端頁碼。
[1] 2 3 4 5 6 7 8 9 10 末頁
1 2 3 4 [5] 6 7 8 9 10 末頁
首頁 2 3 4 5 [6] 7 8 9 10 11 末頁
首頁 5 6 7 8 [9] 10 11 12 13 14 末頁
首頁 8 9 10 11 [12] 13 14 15 16 17 末頁
計算公式:(當前頁序號最小值為1)
int startPage = Math.Max(當前頁序號 - 4, 1);
int endPage = Math.Min(頁總數, startPage + 9);
生成滾動式導航代碼演示:
private string GetNavBarHtml(string s, int pageIndex, int pageCount)
{
????// 計算顯示頁碼
????int startPage = Math.Max(pageIndex - 4, 1);
????int endPage = Math.Min(pageCount, startPage + 9);

????// 生成換頁代碼
????System.Text.StringBuilder sb = new StringBuilder();
????string url = "<a href = \"search.aspx?s={1}&page={2}\">{0}</a>";

????if (startPage > 1)
????{
??????sb.Append(String.Format(url, "首頁", s, 1));
??????sb.Append("&nbsp");
????}
????
????for (int i = startPage; i <= endPage; i++)
????{
??????if (i != pageIndex)
????????sb.Append(String.Format(url, i, s, i));
??????else
????????sb.Append(string.Format("[{0}]", i));
??????
??????sb.Append("&nbsp");
????}

????if (pageCount > endPage)
????{
??????sb.Append(String.Format(url, "末頁", s, pageCount));
????}
????
????return sb.ToString();
}

轉載于:https://www.cnblogs.com/0000/archive/2009/12/08/1619060.html

總結

以上是生活随笔為你收集整理的翻页导航条页码计算方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。