一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - 利用ASP.NET MVC+Bootstrap搭建個人博客之打造清新分頁Helper(三)

利用ASP.NET MVC+Bootstrap搭建個人博客之打造清新分頁Helper(三)

2020-01-16 15:45夜無痕星 ASP.NET教程

這篇文章主要介紹了利用ASP.NET MVC+Bootstrap搭建個人博客之打造清新分頁Helper(三)的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

0. 沒有找到一款中意的分頁插件,又不想使用現成的(丑到爆),所以自己動手造一個吧

先看下效果(其實也不咋滴...):

我的小站地址:我的Bootstrap小站;

利用ASP.NET MVC+Bootstrap搭建個人博客之打造清新分頁Helper(三)

PS:(問博客園:為什么老是刪我的置頂隨便?上一篇閱讀量都快500了,也分分鐘給我從首頁刪掉...真是無語了<博客園地址:http://www.cnblogs.com/haust/p/5615946.html> )。

利用ASP.NET MVC+Bootstrap搭建個人博客之打造清新分頁Helper(三)

  有點另類,分頁直接是在后臺拼接好html,然后發送到前臺的:

  1. 分頁容器:

?
1
2
3
4
5
<div class="pagination">
<ul>
//************分頁HTML*********
</ul>
</div>

2. PagerHelper:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
namespace ZYN.BLOG.WebHelper
{
public class PagerHelper
{
/// <summary>
/// 生成分頁Html數據
/// </summary>
/// <param name="currentPage">當前頁</param>
/// <param name="pageSize">頁容量</param>
/// <param name="totalCount">數據總條數</param>
/// <returns>pagerHtmlString</returns>
public static string GeneratePagerString(int currentPage, int pageSize, int totalCount)
{
var redirectToUrl = HttpContext.Current.Request.Url.AbsolutePath;
pageSize = pageSize <= 0 ? 4 : pageSize;
//1.0 總頁數
int totalPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1);
//2.0 分頁條的容量
int pageBarSize = 6;//默認一個分頁條顯示6個頁碼。分頁條容量
//3.0 分頁條的個數 totalPages個頁數按 pageBarSize = 6 可以 分為多少個分頁條
int pageBarNum = (totalPages + pageBarSize - 1) / pageBarSize; // totalPages=13時,也就是把13個頁碼分成3個分頁條
//判斷當前頁currentPage坐落在第幾個分頁條內
int position = (currentPage - 1) / pageBarSize;
//根據分頁條的序號,計算出該分頁條的第一個頁碼start和最后一個頁碼end
int start = position * pageBarSize + 1;
//如果是最后一個分頁條,則需判斷它實際的頁條容量;否則頁條容量就是pageBarSize
int curBarCapacity = pageBarSize;
if (position == pageBarNum - 1)
{
curBarCapacity = totalPages - (pageBarNum - 1) * pageBarSize;
}
StringBuilder pagerHtmlString = new StringBuilder();
StringBuilder endHtmlString = new StringBuilder();
//處理首頁
pagerHtmlString.AppendFormat("<li id='start-page'><a href='{0}?pageIndex={1}&pageSize={2}'>首頁</a></li> ", redirectToUrl, 1, pageSize);
//處理上一頁:如果當前頁不是第一頁,就加上上一頁
if (currentPage > 1)
{
pagerHtmlString.AppendFormat("<li class='prev-page'><a href='{0}?pageIndex={1}&pageSize={2}'>上一頁</a></li> ", redirectToUrl, currentPage - 1, pageSize);
}
//假如起始位置start為1 7 13
for (int i = 0; i < curBarCapacity; i++) //curBarCapacity=3 i=0 1 2
{
int j = start + i; //要顯示的頁碼當量值
if (j == currentPage)
{
//對當前頁的處理:class=active
pagerHtmlString.AppendFormat("<li class='active show-page'><span>{0}</span></li> ", currentPage);
if (curBarCapacity == pageBarSize)
{
//不處理最后一個分頁條頁
if (currentPage == start + pageBarSize - 1)
{
if (currentPage + 1 < totalPages)
{
endHtmlString.AppendFormat("<li class='show-page'><a href='{0}?pageIndex={1}&pageSize={2}'>{3}</a></li>", redirectToUrl, currentPage + 1, pageSize, currentPage + 1);
}
endHtmlString.Append("<li class='show-page'><span>...</span></li>");
endHtmlString.AppendFormat("<li class='show-page'><a href='{0}?pageIndex={1}&pageSize={2}'>{3}</a></li>", redirectToUrl, totalPages, pageSize, totalPages);
}
}
}
else
{
pagerHtmlString.AppendFormat("<li class='show-page'><a href='{0}?pageIndex={1}&pageSize={2}'>{3}</a></li> ", redirectToUrl, j, pageSize, j);
}
}
//省略號的處理
pagerHtmlString.Append(endHtmlString.ToString());
//處理下一頁:如果當前頁不是最后一頁,則加上下一頁。也即中間的所有分頁條都顯示下一頁
if (currentPage != totalPages)
{
pagerHtmlString.AppendFormat("<li class='next-page'><a href='{0}?pageIndex={1}&pageSize={2}'>下一頁</a></li> ", redirectToUrl, currentPage + 1, pageSize);
}
//處理末頁
pagerHtmlString.AppendFormat("<li id='end-page'><a href='{0}?pageIndex={1}&pageSize={2}'>末頁</a></li> ", redirectToUrl, totalPages, pageSize);
pagerHtmlString.AppendFormat("<li id='total-page'><span>共-{0}-頁</span></li>", totalPages);
pagerHtmlString.Append(" ");
return pagerHtmlString.ToString();
}
}
}

3 渲染出來的分頁HTML是這樣的:

?
1
2
3
4
5
6
7
8
9
10
11
12
<div class="pagination">
<ul>   
 <li id="start-page"><a href="/Home/WrapArtList/0?pageIndex=1&pageSize=6">首頁</a></li>     
<li class="active show-page"><span>1</span></li>     
<li class="show-page"><a href="/Home/WrapArtList/0?pageIndex=2&pageSize=6">2</a></li>    
 <li class="show-page"><a href="/Home/WrapArtList/0?pageIndex=3&pageSize=6">3</a></li>   
<li class="show-page"><a href="/Home/WrapArtList/0?pageIndex=4&pageSize=6">4</a></li>    
 <li class="show-page"><a href="/Home/WrapArtList/0?pageIndex=5&pageSize=6">5</a></li>   
<li class="next-page"><a href="/Home/WrapArtList/0?pageIndex=2&pageSize=6">下一頁</a></li>   
 <li id="end-page"><a href="/Home/WrapArtList/0?pageIndex=5&pageSize=6">末頁</a></li>     
<li id="total-page"><span>共-5-頁</span></li> </ul>
</div>

4. CSS樣式:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* 分頁樣式pagination ====== */
.pagination { /* div pagination*/
margin: 0;
padding: 20px;
text-align: center;
font-size: 12px;
display: block;
}
.pagination ul {
display: inline-block;
*display: inline;
*zoom: 1;
margin-left: 0;
margin-bottom: 0;
padding: 0;
}
.pagination ul > li {
display: inline;
}
.pagination ul > li > a,
.pagination ul > li > span {
margin: 0 2px;
float: left;
padding: 5px 12px;
background-color: #ddd;
color: #666;
border-radius: 2px;
opacity: .88;
}
.pagination ul > li > a:hover,
.pagination ul > li > a:focus {
background-color: #bce8f1;
}
.pagination ul > .active > a,
.pagination ul > .active > span {
background-color: #45B6F7;
color: #fff;
}
.pagination ul > .active > a,
.pagination ul > .active > span {
cursor: default;
}
.pagination ul > li > span,
.pagination ul > .disabled > span,
.pagination ul > .disabled > a,
.pagination ul > .disabled > a:hover,
.pagination ul > .disabled > a:focus {
color: #999999;
background-color: transparent;
cursor: default;
}
/* 自定義的分頁pagination 結束====== */

以上所述是小編給大家介紹的利用ASP.NET MVC+Bootstrap搭建個人博客之打造清新分頁Helper(三),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产99热99 | 無码一区中文字幕少妇熟女H | 亚洲AV无码A片在线观看蜜桃 | 欧美1区| 美女撒尿毛片免费看 | 欧美日韩精品一区二区三区高清视频 | 热99re久久精品精品免费 | 色播影音先锋 | 久久国产精品免费网站 | 日本小视频免费 | 大杳蕉在线影院在线播放 | 深夜免费在线观看 | 99热资源 | 久久久久久久国产精品视频 | 国产免费一区二区三区免费视频 | 国产成人看片免费视频观看 | 男gay男gay男gay野外 | 九九精品免视频国产成人 | 水岛津实在线 | 嫩草影院地址一地址二 | 我与肥熟老妇的性事 | 五月天精品视频播放在线观看 | 欧美一区二区三区免费观看视频 | 国产精品人人视频 | 国产一区二区三区水野朝阳 | 国产中文字幕 | 亚洲国产视频网站 | 亚洲激情视频在线 | 午夜精品久久久久久 | 爱情岛论坛亚洲品质自拍视频 | 色男人的天堂久久综合 | 欧美午夜精品久久久久久黑人 | 成人在线视频播放 | 亚洲天堂男人 | 国产免费不卡视频 | 99超级碰碰成人香蕉网 | 亚洲欧美视频在线播放 | 国产精品国产精品国产三级普 | 91夜色视频 | 四虎在线视频免费观看 | 91麻豆精品国产自产在线观看 |