最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MvcPager分頁控件 適用于Bootstrap

 更新時間:2017年06月03日 09:22:27   作者:HackerVirus  
這篇文章主要為大家詳細介紹了MvcPager分頁控件,修改后適用于Bootstrap,具有一定的參考價值,感興趣的小伙伴們可以參考一下

軟件開發(fā)分頁效果必不可少,對于Asp.Net MVC 而言,MvcPager 是個不錯的選擇。

請訪問http://www.webdiyer.com/mvcpager/

由于自帶的分頁樣式不能和項目整體風格兼容,所以我們準備改寫源代碼,使其能夠使用Bootstrap 的分頁樣式。

先來查看兩種分頁的html代碼

Bootstrap 樣式:

<ul class="pagination">
 <li class="disabled"><a href="#">?</a></li>
 <li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li>
 ...
 </ul> 

一個ul標簽,li 下面有一個a 標簽.

MvcPager 樣式:

<!--MvcPager v2.0 for ASP.NET MVC 4.0+ ? 2009-2013 Webdiyer (http://www.webdiyer.com)-->
<div data-maxpages="5" data-mvcpager="true" data-pageparameter="id" data-urlformat="/mvcpager/demo/basic/__id__/"><a disabled="disabled">首頁</a>&nbsp;&nbsp;<a disabled="disabled">上一頁</a>&nbsp;&nbsp;1&nbsp;&nbsp;<a href="/mvcpager/demo/basic/2/">2</a>&nbsp;&nbsp;<a href="/mvcpager/demo/basic/3/">3</a>&nbsp;&nbsp;<a href="/mvcpager/demo/basic/4/">4</a>&nbsp;&nbsp;<a href="/mvcpager/demo/basic/5/">5</a>&nbsp;&nbsp;<a href="/mvcpager/demo/basic/2/">下一頁</a>&nbsp;&nbsp;<a href="/mvcpager/demo/basic/5/">尾頁</a>&nbsp;&nbsp;<select data-pageindexbox="true" data-autosubmit="true"><option value="1" selected="selected">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option></select></div>
<!--MvcPager v2.0 for ASP.NET MVC 4.0+ ? 2009-2013 Webdiyer (http://www.webdiyer.com)-->

這里就比較簡單了,一個div 下只有a 標簽.

 那么問題來了,我們該怎么修改源碼來達到Bootstrap 分頁效果呢?

1、到官網(wǎng)下載MvcPager 源代碼

2、開始研究html 生成規(guī)則.

 這兩步筆者已經幫你做了,下面跟我一起來做修改.

  通過代碼調試跟蹤和查看源碼注釋,我們知道了最終的HTML 呈現(xiàn)是在PagerBuilder.cs 下的RenderPager() 方法.

 var sb = new StringBuilder();
  if (_ajaxPagingEnabled)
  {
  foreach (PagerItem item in pagerItems)
  {
   //修改前
   //sb.Append( GenerateAjaxPagerElement(item) );
   //修改后
   sb.Append("<li>" + GenerateAjaxPagerElement(item) + "</li>");
  }
  }
  else
  {
  foreach (PagerItem item in pagerItems)
  {
   //修改前
   //sb.Append( GeneratePagerElement(item) );
   //修改后
   sb.Append("<li>" + GeneratePagerElement(item) + "</li>");
  }
  }

  修改以上代碼以獲得li標簽。由于ul標簽是最后加上去的所以我們在這里修改:

if (_pagerOptions.ShowPageIndexBox)
  {
  if (!_ajaxPagingEnabled)
  {
   var attrs = new Dictionary<string, object>();
   AddDataAttributes(attrs);
   tb.MergeAttributes(attrs, true);
  }
  sb.Append(BuildGoToPageSection());
  }
  else
  sb.Length -= _pagerOptions.PagerItemsSeperator.Length;
  //修改前
  // tb.InnerHtml = sb.ToString() ;
  //修改后,為ul加上class='pagination'以獲得boostrap 分頁樣式
  tb.InnerHtml = "<ul class='pagination'>" + sb.ToString() + "</ul>";

    有了以上還不行,還需要為當前頁增加樣式,

    修改后的GenerateAjaxAnchor(PagerItem item) 方法為:

 private string GenerateAjaxAnchor(PagerItem item)
 {
  string url = GenerateUrl(item.PageIndex);
  if (string.IsNullOrWhiteSpace(url))
   //這里直接假的行內樣式,可以使用class替換掉
  return "<a style='z-index:2;color:#fff; cursor: default; border-color: #428bca;' disabled='disabled'>" + item.Text + "</a>";
  //return HttpUtility.HtmlEncode(item.Text);
  var tag = new TagBuilder("a") { InnerHtml = item.Text };
  tag.MergeAttribute("href", url);
  tag.MergeAttribute("data-pageindex", item.PageIndex.ToString(CultureInfo.InvariantCulture));
  //修改后,添加了li標簽
  return "<li>" + tag.ToString(TagRenderMode.Normal) + "</li>";
 }

 對源代碼的修改就是這么多了,我們一起看看效果.

  中文版效果:

英文版效果(同樣是修改源碼,增加了對英文的支持):

源碼下載:MvcPager分頁控件

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • JS利用循環(huán)解決的一些常見問題總結

    JS利用循環(huán)解決的一些常見問題總結

    循環(huán)輸出問題是面試中經典的題目,一般會給出代碼,讓我們解釋原因,并給出若干解決方案,下面這篇文章主要給大家介紹了關于JS利用循環(huán)解決的一些常見問題,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • 教你30秒發(fā)布一個TypeScript包到NPM的方法步驟

    教你30秒發(fā)布一個TypeScript包到NPM的方法步驟

    這篇文章主要介紹了教你30秒發(fā)布一個TypeScript包到NPM的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • 微信小程序實現(xiàn)收貨地址左滑刪除

    微信小程序實現(xiàn)收貨地址左滑刪除

    這篇文章主要為大家詳細介紹了微信小程序實現(xiàn)收貨地址左滑刪除,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • js代碼實現(xiàn)輪播圖

    js代碼實現(xiàn)輪播圖

    這篇文章主要為大家詳細介紹了js代碼實現(xiàn)輪播圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • JavaScript類型系統(tǒng)之Object詳解

    JavaScript類型系統(tǒng)之Object詳解

    對象其實就是一組數(shù)據(jù)和功能的集合。對象可以通過執(zhí)行new操作符后跟要創(chuàng)建的對象類型的名稱來創(chuàng)建。而創(chuàng)建Object類型的實例并為其添加屬性和(或)方法,就可以創(chuàng)建自定義對象
    2016-01-01
  • JavaScript實現(xiàn)彈出模態(tài)窗體并接受傳值的方法

    JavaScript實現(xiàn)彈出模態(tài)窗體并接受傳值的方法

    這篇文章主要介紹了JavaScript實現(xiàn)彈出模態(tài)窗體并接受傳值的方法,涉及JavaScript模態(tài)窗體的實現(xiàn)及基于URL的傳值操作技巧,需要的朋友可以參考下
    2016-02-02
  • 解決LayUI表單獲取不到data的問題

    解決LayUI表單獲取不到data的問題

    今天小編就為大家分享一篇解決LayUI表單獲取不到data的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 圖片加載完成再執(zhí)行事件的實例

    圖片加載完成再執(zhí)行事件的實例

    下面小編就為大家分享一篇圖片加載完成再執(zhí)行事件的實例,具有很好的參考價值,一起跟隨小編過來看看吧,希望對大家有所幫助
    2017-11-11
  • 完美實現(xiàn)js焦點輪播效果(一)

    完美實現(xiàn)js焦點輪播效果(一)

    這篇文章主要為大家詳細介紹了完美實現(xiàn)js焦點輪播效果的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 從javascript語言本身談項目實戰(zhàn)

    從javascript語言本身談項目實戰(zhàn)

    從javascript語言本身談項目實戰(zhàn)...
    2006-12-12

最新評論

九龙城区| 宁夏| 浮梁县| 手机| 札达县| 武平县| 巨野县| 洪泽县| 东山县| 蚌埠市| 南涧| 祁东县| 兰溪市| 翁牛特旗| 长治市| 平果县| 东城区| 鄱阳县| 星座| 宁武县| 化州市| 广元市| 轮台县| 竹北市| 阿克陶县| 微山县| 宿松县| 阜宁县| 洮南市| 调兵山市| 漳平市| 同心县| 策勒县| 碌曲县| 兴海县| 宝鸡市| 九龙县| 黄山市| 武安市| 贵定县| 周至县|