이 글에서는 Ajax 페이징 쿼리 기능을 구현하고 포그라운드에서 데이터를 페이지화하는 kkpager를 주로 소개합니다. 페이징 데이터를 백그라운드에서 가져오기 때문에 빅데이터에는 권장되지 않습니다. , 특정 프런트엔드 및 백엔드 코드에 대해서는 이 문서를 참조하세요. 도움이 되기를 바랍니다.
포그라운드 페이징 데이터는 백그라운드에서 페이징 데이터를 가져오기 때문에 데이터 양이 적을 때 적합합니다. 대용량 데이터에는 권장되지 않습니다.
먼저 프론트엔드 코드를 살펴보겠습니다:
@{ 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="external nofollow" rel="stylesheet" /> <title>Index</title> </head> <body> <p style="width:800px;margin:0 auto;"> <p class="table-responsive" id="mainContent"> </p> <p id="kkpager"> </p> </p> </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("<p style='text-align:center; color:red'><h2>暂无数据</h2></p>"); 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); } } }
별로 할 말이 없습니다
스타일을 살펴보겠습니다
관련 권장 사항:
AJAX 페이징 효과의 간단한 구현에 대한 자세한 설명
php Ajax 페이징 간단한 응용 프로그램 예제_PHP 튜토리얼
위 내용은 Ajax 페이징 쿼리 기능을 구현한 kkpager의 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!