亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Bootstrap Paginator分頁插件使用方法詳解

 更新時(shí)間:2016年05月30日 09:08:15   作者:曉鏡水月  
這篇文章主要為大家詳細(xì)介紹了Bootstrap Paginator分頁插件使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近做的asp.netMVC項(xiàng)目中需要對數(shù)據(jù)列表進(jìn)行分類,這個(gè)本來就是基于bootstrap開發(fā)的后臺,因此也就想著bootstrap是否有分頁插件呢,或者說是基于jquery支持的分頁功能,這樣整體的網(wǎng)站后臺風(fēng)格便能夠統(tǒng)一,又不用自己去寫一套分頁的功能。

首先便是要下載Bootstrap Paginator了,下載地址:Bootstrap Paginator分頁插件

首先視圖的上面應(yīng)該需要引入js和css文件,主要有三個(gè)文件,分別是bootstrap的css,jquery以及Paginator的js文件。其中網(wǎng)上搜到,貌似jquery必須要1.8版本以上,這個(gè)我沒有親自去測試看過。于是視圖的文件引用便:

<link href="css/bootstrap.css" rel="stylesheet">
<script type="text/javascript" src="js/jquery-1.8.1.js"></script>
<script type="text/javascript" src="js/bootstrap-paginator.js"></script>

然后,分頁的功能當(dāng)然是一個(gè)基于Ajax的局部刷新才能夠吸引我們,當(dāng)然這個(gè)便需要jquery的支持。之前自己搞的都是EasyUI的分頁,這次也應(yīng)該有點(diǎn)不同。

<script>
 $(function () {
 var carId = 1;
 $.ajax({
 url: "/OA/Setting/GetDate",
 datatype: 'json',
 type: "Post",
 data: "id=" + carId,
 success: function (data) {
 if (data != null) {
 $.each(eval("(" + data + ")").list, function (index, item) { //遍歷返回的json
 $("#list").append('<table id="data_table" class="table table-striped">');
 $("#list").append('<thead>');
 $("#list").append('<tr>');
 $("#list").append('<th>Id</th>');
 $("#list").append('<th>部門名稱</th>');
 $("#list").append('<th>備注</th>');
 $("#list").append('<th>&nbsp;</th>');
 $("#list").append('</tr>');
 $("#list").append('</thead>');
 $("#list").append('<tbody>');
 $("#list").append('<tr>');
 $("#list").append('<td>' + item.Id + '</td>');
 $("#list").append('<td>' + item.Name + '</td>');
 $("#list").append('<td>備注</td>');
 $("#list").append('<td>');
 $("#list").append('<button class="btn btn-warning" onclick="Edit(' + item.Id + ' );">修改</button>');
 $("#list").append('<button class="btn btn-warning" onclick="Edit(' + item.Id + ' );">刪除</button>');
 $("#list").append('</td>');
 $("#list").append('</tr>');
 $("#list").append('</tbody>');

 $("#list").append('<tr>');
 $("#list").append('<td>內(nèi)容</td>');
 $("#list").append('<td>' + item.Message + '</td>');
 $("#list").append('</tr>');
 $("#list").append('</table>');
 });
 var pageCount = eval("(" + data + ")").pageCount; //取到pageCount的值(把返回?cái)?shù)據(jù)轉(zhuǎn)成object類型)
 var currentPage = eval("(" + data + ")").CurrentPage; //得到urrentPage
 var options = {
 bootstrapMajorVersion: 2, //版本
 currentPage: currentPage, //當(dāng)前頁數(shù)
 totalPages: pageCount, //總頁數(shù)
 itemTexts: function (type, page, current) {
 switch (type) {
 case "first":
 return "首頁";
 case "prev":
 return "上一頁";
 case "next":
 return "下一頁";
 case "last":
 return "末頁";
 case "page":
 return page;
 }
 },//點(diǎn)擊事件,用于通過Ajax來刷新整個(gè)list列表
 onPageClicked: function (event, originalEvent, type, page) {
 $.ajax({
 url: "/OA/Setting/GetDate?id=" + page,
 type: "Post",
 data: "page=" + page,
 success: function (data1) {
 if (data1 != null) {
 $.each(eval("(" + data + ")").list, function (index, item) { //遍歷返回的json
 $("#list").append('<table id="data_table" class="table table-striped">');
 $("#list").append('<thead>');
 $("#list").append('<tr>');
 $("#list").append('<th>Id</th>');
 $("#list").append('<th>部門名稱</th>');
 $("#list").append('<th>備注</th>');
 $("#list").append('<th>&nbsp;</th>');
 $("#list").append('</tr>');
 $("#list").append('</thead>');
 $("#list").append('<tbody>');
 $("#list").append('<tr>');
 $("#list").append('<td>' + item.Id + '</td>');
 $("#list").append('<td>' + item.Name + '</td>');
 $("#list").append('<td>備注</td>');
 $("#list").append('<td>');
 $("#list").append('<button class="btn btn-warning" onclick="Edit(' + item.Id + ' );">修改</button>');
 $("#list").append('<button class="btn btn-warning" onclick="Edit(' + item.Id + ' );">刪除</button>');
 $("#list").append('</td>');
 $("#list").append('</tr>');
 $("#list").append('</tbody>');

 $("#list").append('<tr>');
 $("#list").append('<td>內(nèi)容</td>');
 $("#list").append('<td>' + item.Message + '</td>');
 $("#list").append('</tr>');
 $("#list").append('</table>');
 });
 }
 }
 });
 }
 };
 $('#example').bootstrapPaginator(options);
 }
 }
 });
 })
</script>

而在視圖的主體部分便有兩個(gè)div,一個(gè)用來呈現(xiàn)數(shù)據(jù)列表,一個(gè)用來放置選擇頁面的導(dǎo)航。

<div class="span9">
 <label>部門列表</label>
 <hr />
 <div id="list"></div>

 <div id="example"></div>
 </div>

而后臺這個(gè)GetDate的方法就像下面這樣:

public ActionResult GetDate(int id, int? page)
 {
 int pageIndex = page ?? 1;//當(dāng)前頁
 const int pageSize = 2;//這里用來設(shè)置每頁要展示的數(shù)據(jù)數(shù)量,建議把這個(gè)寫到web.config中來全局控制
 //獲取需要展示的部門數(shù)據(jù)
 IEnumerable<MODEL.qgoa_department> list = OperateContext.Current.BLLSession.Iqgoa_departmentBLL.GetPagedList(pageIndex, pageSize, x => x.Id!=null, x=>x.Id);
 //得到數(shù)據(jù)的條數(shù)
 int rowCount = list.Count();
 //通過計(jì)算,得到分頁應(yīng)該需要分幾頁,其中不滿一頁的數(shù)據(jù)按一頁計(jì)算
 if(rowCount%pageSize!=0)
 {
 rowCount = rowCount / pageSize + 1;
 }
 else
 {
 rowCount = rowCount / pageSize;
 }

 //轉(zhuǎn)成Json格式
 var strResult = "{\"pageCount\":"+rowCount+",\"CurrentPage\":"+pageIndex+",\"list\":" + JsonConvert.SerializeObject(list) + "}";
 return Json(strResult, JsonRequestBehavior.AllowGet);
 }

這個(gè)方法還是有點(diǎn)缺陷的,可以寫的更加完美,就好像上面那個(gè)pageSize這個(gè)可以通過讀取配置文件web.config來全局修改,這樣管理起來也方便,另外對于頁面這種屬性:頁碼,當(dāng)前頁,數(shù)據(jù)數(shù)量等等的信息,可以做一個(gè)類來存儲,如果網(wǎng)站的項(xiàng)目比較大的話,這樣更加方便我們?nèi)ジ淖约旱拇a。

最后顯示的效果如下圖:

如果大家還想深入學(xué)習(xí),可以點(diǎn)擊這里進(jìn)行學(xué)習(xí),再為大家附3個(gè)精彩的專題:

Bootstrap學(xué)習(xí)教程

Bootstrap實(shí)戰(zhàn)教程

Bootstrap插件使用教程

以上就是為大家分享的Bootstrap Paginator分頁插件的使用方法,希望對大家熟練掌握Bootstrap Paginator分頁插件使用方法有所幫助。

相關(guān)文章

  • 動態(tài)創(chuàng)建按鈕的JavaScript代碼

    動態(tài)創(chuàng)建按鈕的JavaScript代碼

    本文給大家分享一段JS實(shí)例代碼介紹動態(tài)創(chuàng)建按鈕的方法,需要的朋友參考下本文
    2016-01-01
  • JavaScript的設(shè)計(jì)模式經(jīng)典之建造者模式

    JavaScript的設(shè)計(jì)模式經(jīng)典之建造者模式

    建造者模式是設(shè)計(jì)模式的一種,將一個(gè)復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。接下來通過本文給大家介紹JavaScript的設(shè)計(jì)模式經(jīng)典之建造者模式,感興趣的朋友一起學(xué)習(xí)吧
    2016-02-02
  • JavaScript判斷undefined類型的正確方法

    JavaScript判斷undefined類型的正確方法

    這篇文章主要介紹了JavaScript判斷undefined類型的正確方法,相信很多同學(xué)在遇到這問題時(shí)都會用到錯(cuò)誤的方法,正確方法也很簡單,需要的朋友可以參考下
    2015-06-06
  • JS原型繼承四步曲及原型繼承圖一覽

    JS原型繼承四步曲及原型繼承圖一覽

    下面小編就為大家分享一篇JS原型繼承四步曲及原型繼承圖一覽,具有很好的參考價(jià)值。希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • JS表單提交中onsubmit事件return的作用詳解

    JS表單提交中onsubmit事件return的作用詳解

    這篇文章主要為大家介紹了JS表單提交中onsubmit事件return的作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 解決遍歷時(shí)Array.indexOf產(chǎn)生的性能問題

    解決遍歷時(shí)Array.indexOf產(chǎn)生的性能問題

    javascript中數(shù)組是沒有indexOf方法,extjs中給數(shù)據(jù)添加了該方法
    2012-07-07
  • JS出現(xiàn)404錯(cuò)誤原理及解決方案

    JS出現(xiàn)404錯(cuò)誤原理及解決方案

    這篇文章主要介紹了JS出現(xiàn)404錯(cuò)誤原理及解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 微信小程序?qū)崿F(xiàn)給嵌套template模板傳遞數(shù)據(jù)的方式總結(jié)

    微信小程序?qū)崿F(xiàn)給嵌套template模板傳遞數(shù)據(jù)的方式總結(jié)

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)給嵌套template模板傳遞數(shù)據(jù)的方式,結(jié)合實(shí)例形式總結(jié)分析了微信小程序嵌套template模板的定義、調(diào)用、參數(shù)傳遞及相關(guān)使用技巧,需要的朋友可以參考下
    2017-12-12
  • js判斷兩個(gè)數(shù)組是否存在相同元素的四種方法

    js判斷兩個(gè)數(shù)組是否存在相同元素的四種方法

    這篇文章主要給大家介紹了關(guān)于js判斷兩個(gè)數(shù)組是否存在相同元素的四種方法,js中是不能直接用==或者===來計(jì)算兩個(gè)數(shù)組是否相等的,那么就需要對數(shù)組的值進(jìn)行比較,需要的朋友可以參考下
    2023-07-07
  • 微信小程序自定義tabBar在uni-app的適配詳解

    微信小程序自定義tabBar在uni-app的適配詳解

    這篇文章主要介紹了微信小程序自定義tabBar在uni-app的適配詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評論