kkpager 實現ajax分頁查詢


前台分頁數據,適合數據少量的時候,因為分頁的數據是從后台獲取的,大數據的話不建議使用

 

現看前台代碼:

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <script src="~/kkpager/lib/jquery-1.10.2.min.js"></script>
    <script src="~/kkpager/src/kkpager.js"></script>
    <link href="~/kkpager/src/kkpager_orange.css" rel="stylesheet" />
    <title>Index</title>
</head>
<body>
    <div style="width:800px;margin:0 auto;">
        <div class="table-responsive" id="mainContent">
        </div>
        <div id="kkpager">

        </div>
    </div>
</body>
</html>
<script type="text/javascript">
    function getParameter(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
        if (r != null) return unescape(r[2]); return null;
    }
    function GetExcelTable(pageindex) {
        $.ajax({
            url: '/Home/index2',
            dataType: "json",
            type: "POST",
            data: { "pageIndex": pageindex },
            success: function (data) {
                if (data.status == "0") {
                    $("#mainContent").empty();
                    $("#mainContent").html("<div style='text-align:center; color:red'><h2>暫無數據</h2></div>");
                    return;
                }
                $("#mainContent").html(data.data);
                //定義分頁樣式
                var totalCount = parseInt(data.pagecount);
                var pageSize = parseInt(data.pagesize);

                var pageNo = getParameter('pageIndex');//該參數為插件自帶,不設置好,調用數據的時候當前頁碼會一直顯示在第一頁

                if (!pageNo) {
                    pageNo = pageindex;
                }
                var totalPages = totalCount % pageSize == 0 ? totalCount / pageSize : (parseInt(totalCount / pageSize) + 1);
                kkpager.generPageHtml({
                    pno: pageNo,
                    total: totalPages,
                    totalRecords: totalCount,
                    mode: 'click',
                    click: function (n) {
                        this.selectPage(pageNo);
                        searchPage(n);
                        return false;
                    }
                }, true);
            }, error: function (jqXHR, textStatus, errorThrown) {

            }
        });
    }
    //init
    $(function () {
        GetExcelTable(1)
    });
    //ajax翻頁
    function searchPage(n) {
        GetExcelTable(n);
    }
</script>

 

 后台代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Mvc;

namespace MvcKKpager.Controllers
{
    public class HomeController : Controller
    {
        private readonly int pageSize = 2;
        //
        // GET: /Home/

        public ActionResult Index()
        {
            return View();
        }
        public ActionResult Index2(string pageIndex) {

            List<String> list = new List<String>();
            list.Add("保護環境");
            list.Add("保護環境");
            list.Add("保護環境");
            list.Add("保護環境");  
            list.Add("保護環境");  
         
            var persons = (from p in list select p).Skip((int.Parse(pageIndex) - 1) * pageSize).Take(pageSize);

            StringBuilder builder = new StringBuilder();
            builder.Append("<table class=\"table table-striped b-t b-light text-sm\" id=\"comptable\">");
            builder.Append("<thead><tr><th>時間</th><th>展示</th><th>點擊(點擊率)</th><th>激活(激活率)</th><th>平均點擊單價</th><th>實際激活成本</th><th>消耗</th></tr></thead>");
            builder.Append("<tbody>");
            foreach (var item in persons) {
                builder.Append("<tr class=\"trStyle\">");
                builder.Append("<td>" + item + "</td>");
                builder.Append("<td>" + item + "</td>");
                builder.Append("<td>" + item+"</td>");
                builder.Append("<td>" + item + "</td>");
                builder.Append("<td>" + item + "</td>");
                builder.Append("<td>" + item + "</td>");
                builder.Append("<td>" + item + "</td>");
                builder.Append("</tr>");
            }
            builder.Append("</tbody></table>");
            var result = new { status = "1", data = builder.ToString(), pagecount = list.Count().ToString(), pagesize = pageSize.ToString() };
            return Json(result);
        }
    }
}

 

 

也沒什么好說的

看下樣式吧

 

下載鏈接:http://pan.baidu.com/s/1dEJqXzF

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM