濮阳杆衣贸易有限公司

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

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

熱門標(biāo)簽:網(wǎng)絡(luò)電話外呼系統(tǒng)上海 百應(yīng)電話機(jī)器人外呼系統(tǒng) 地圖標(biāo)注軟件免費(fèi)下載 臨沂智能電話機(jī)器人加盟 400電話辦理怎么樣 西寧呼叫中心外呼系統(tǒng)線路商 聯(lián)通官網(wǎng)400電話辦理 蘇州如何辦理400電話 外呼電話機(jī)器人成本

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

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

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

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

  有點(diǎn)另類,分頁直接是在后臺拼接好html,然后發(fā)送到前臺的:

  1. 分頁容器:

div class="pagination">
ul>
//************分頁HTML*********
/ul>
/div>

2. PagerHelper:

namespace ZYN.BLOG.WebHelper
{
public class PagerHelper
{
/// summary>
/// 生成分頁Html數(shù)據(jù)
/// /summary>
/// param name="currentPage">當(dāng)前頁/param>
/// param name="pageSize">頁容量/param>
/// param name="totalCount">數(shù)據(jù)總條數(shù)/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 總頁數(shù)
int totalPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1);
//2.0 分頁條的容量
int pageBarSize = 6;//默認(rèn)一個分頁條顯示6個頁碼。分頁條容量 
//3.0 分頁條的個數(shù) totalPages個頁數(shù)按 pageBarSize = 6 可以 分為多少個分頁條
int pageBarNum = (totalPages + pageBarSize - 1) / pageBarSize; // totalPages=13時,也就是把13個頁碼分成3個分頁條
//判斷當(dāng)前頁currentPage坐落在第幾個分頁條內(nèi)
int position = (currentPage - 1) / pageBarSize; 
//根據(jù)分頁條的序號,計(jì)算出該分頁條的第一個頁碼start和最后一個頁碼end
int start = position * pageBarSize + 1;
//如果是最后一個分頁條,則需判斷它實(shí)際的頁條容量;否則頁條容量就是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);
//處理上一頁:如果當(dāng)前頁不是第一頁,就加上上一頁
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; //要顯示的頁碼當(dāng)量值
if (j == currentPage)
{
//對當(dāng)前頁的處理: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());
//處理下一頁:如果當(dāng)前頁不是最后一頁,則加上下一頁。也即中間的所有分頁條都顯示下一頁
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是這樣的:

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

4. CSS樣式:

/* 分頁樣式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 結(jié)束====== */ 

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

您可能感興趣的文章:
  • ASP.NET MVC 5使用X.PagedList.Mvc進(jìn)行分頁教程(PagedList.Mvc)
  • ASP.NET MVC4 HtmlHelper擴(kuò)展類,實(shí)現(xiàn)分頁功能
  • ASP.NET MVC分頁和排序功能實(shí)現(xiàn)
  • ASP.NET MVC+EF在服務(wù)端分頁使用jqGrid以及jquery Datatables的注意事項(xiàng)
  • ASP.NET MVC4 Razor模板簡易分頁效果
  • asp.net mvc4 mysql制作簡單分頁組件(部分視圖)
  • ASP.NET MVC 2右鍵菜單和簡單分頁實(shí)例講解
  • ASP.NET同步分頁MvcPager使用詳解
  • asp.net MVC分頁代碼分享
  • ASP.NET MVC分頁的實(shí)現(xiàn)方法

標(biāo)簽:慶陽 清遠(yuǎn) 海西 臨夏 聊城 甘肅 中衛(wèi)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用ASP.NET MVC+Bootstrap搭建個人博客之打造清新分頁Helper(三)》,本文關(guān)鍵詞  利用,ASP.NET,MVC+Bootstrap,搭建,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《利用ASP.NET MVC+Bootstrap搭建個人博客之打造清新分頁Helper(三)》相關(guān)的同類信息!
  • 本頁收集關(guān)于利用ASP.NET MVC+Bootstrap搭建個人博客之打造清新分頁Helper(三)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    伊春市| 湖北省| 京山县| 黄冈市| 祁东县| 公安县| 乌鲁木齐市| 海兴县| 成都市| 岳阳县| 铁力市| 高陵县| 湖北省| 渭源县| 山阳县| 屏边| 阿拉善左旗| 台北市| 溆浦县| 南充市| 韶山市| 罗定市| 屯门区| 昆山市| 抚州市| 华容县| 盱眙县| 科技| 乌兰察布市| 绥中县| 阳原县| 读书| 瑞丽市| 荥阳市| 龙胜| 天台县| 象州县| 蒙自县| 黔西| 海林市| 延庆县|