最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MVC异步分页代码分享

来源:动视网 责编:小采 时间:2020-11-27 22:36:28
文档

MVC异步分页代码分享

MVC异步分页代码分享:如图: 1、控制器代码 // // GET: /AjaxUser/ shopEntities shop = new shopEntities(); public ActionResult Index() { return View(); } public ActionResult loadjson() { int pageSize =
推荐度:
导读MVC异步分页代码分享:如图: 1、控制器代码 // // GET: /AjaxUser/ shopEntities shop = new shopEntities(); public ActionResult Index() { return View(); } public ActionResult loadjson() { int pageSize =


如图:

 

1、控制器代码 

//

 // GET: /AjaxUser/

 shopEntities shop = new shopEntities();
 public ActionResult Index()
 {
 return View();
 }
 public ActionResult loadjson()

 {
 int pageSize = Request["pageSize"] == null ? 10 : int.Parse(Request["pageSize"]);
 int pageIndex = Request["pageIndex"] == null ? 1 : int.Parse(Request["pageIndex"]);
 int totalCount = shop.tbl_admin.Count();
 

 //给前台userinfo所有的数据,并且是json格式
 var allorder = shop.tbl_admin.OrderBy(u=>u.id)
 .Skip(pageSize*(pageIndex-1))
 .Take(pageSize)
 .ToList();
 //接受一个对像,内部把此对象使用javaScript序列化类对象志字符串,发送到前台
 var data = from u in allorder select new { u.id,u.realname,u.sex};
 string strNav = PageNavHelper.ShowPageNavigate(pageIndex,pageSize,totalCount);
 var result = new {Data=data, NavStr=strNav };
 return Json(result, JsonRequestBehavior.AllowGet);

 }

2、Html代码 

@{
 Layout = null;
}
<!DOCTYPE html>
<html>

<head>

 <meta name="viewport" content="width=device-width" />

 <title>Index</title>
 <link href="~/Content/NavPage.css" rel="stylesheet" />
 <script src="~/Scripts/jquery-1.8.2.min.js"></script>
 <script src="~/Scripts/jquery-ui-1.8.24.js"></script>
 <script src="~/Scripts/jquery.easyui.min.js"></script>
 <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
 <script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
 <script type="text/javascript">
 $(function () {
 //页面加载完成后从后如加载当前页数据
 initTable();
 });

 //初始化表格数据

 function initTable(queryData) 

 {

 $.getJSON("/AjaxUser/loadjson",queryData, function (data) {
 var tb = $("#tbList");
 //先移除旧的,添加新的
 $("#tbList tr[type=data]").remove();
 for (var i = 0; i < data.Data.length; i++)
 { 

 var strTr = "<tr type='data'>";
 strTr += "<td>" + data.Data[i].id + "</td>";
 strTr += "<td>" + data.Data[i].realname + "</td>";
 strTr += "<td>" + data.Data[i].sex + "</td>";
 strTr += "<td><a UId='" + data.Data[i].id + "' href='javascript:void(0)'>修改</a>" +
 "<a UId='" + data.Data[i].ID + "' href='javascript:void(0)'>删除</a></td>";
 strTr += "</tr>";
 tb.append(strTr);

 }

 $("#Nav").html(data.NavStr);

 //绑定分页标签的点击事件

 $(".pageLink").click(function () {
 //把页码弹出来
 var strHref = $(this).attr("href");
 var queryStr = strHref.substr(strHref.indexOf('?') + 1);
 //alert(queryStr);
 initTable(queryStr);
 return false;
 });
 });
 }
 </script>

</head>
<body>
 <div>
 <table id="tbList">
 <tr>
 <td>id</td>

 <td>姓名</td>
 <td>性别</td>
 <td>操作</td>

 </tr>
 </table>
 <div id="Nav" class="paginator"> 
 </div> 
 </div>

</body>

</html> 

3、分页类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
namespace MvcTest4.Models

{
 public class PageNavHelper

 {
 //主要就是
输出分页的超级链接的标签 //自定义分页Helper扩展 public static string ShowPageNavigate(int currentPage, int pageSize, int totalCount) { var redirectTo = HttpContext.Current.Request.Url.AbsolutePath; pageSize = pageSize <= 0 ? 3 : pageSize; var totalPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1); //总页数 var output = new StringBuilder(); if (totalPages > 1) { //if (currentPage != 1) {//处理首页连接 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex=1&pageSize={1}'>首页</a> ", redirectTo, pageSize); } if (currentPage > 1) {//处理上一页的连接 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>上一页</a> ", redirectTo, currentPage - 1, pageSize); } else { // output.Append("<span class='pageLink'>上一页</span>"); } output.Append(" "); int currint = 5; for (int i = 0; i <= 10; i++) {//一共最多显示10个页码,前面5个,后面5个 if ((currentPage + i - currint) >= 1 && (currentPage + i - currint) <= totalPages) { if (currint == i) {//当前页处理 //output.Append(string.Format("[{0}]", currentPage)); output.AppendFormat("<a class='cpb' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage, pageSize, currentPage); } else {//一般页处理 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage + i - currint, pageSize, currentPage + i - currint); } } output.Append(" "); } if (currentPage < totalPages) {//处理下一页的链接 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>下一页</a> ", redirectTo, currentPage + 1, pageSize); } else { //output.Append("<span class='pageLink'>下一页</span>"); } output.Append(" "); if (currentPage != totalPages) { output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>末页</a> ", redirectTo, totalPages, pageSize); } output.Append(" "); } output.AppendFormat("第{0}页 / 共{1}页", currentPage, totalPages);//这个统计加不加都行 return output.ToString(); } } }

4、分页CSS 

body {
} 
.paginator {
 font: 12px Arial, Helvetica, sans-serif;
 padding: 10px 20px 10px 0;
 margin: 0px;
}

 .paginator a {
 border: solid 1px #ccc;
 color: #0063dc;
 cursor: pointer;
 text-decoration: none;
 }
 .paginator a:visited {
 padding: 1px 6px;
 border: solid 1px #ddd;
 background: #fff;
 text-decoration: none;
 }
 .paginator .cpb {
 border: 1px solid #F50;
 font-weight: 700;
 color: #F50;
 background-color: #ffeee5;
 }

 .paginator a:hover {
 border: solid 1px #F50;
 color: #f60;
 text-decoration: none;
 }
 .paginator a, .paginator a:visited, .paginator .cpb, .paginator a:hover {
 float: left;
 height: 16px;
 line-height: 16px;
 min-width: 10px;
 _width: 10px;
 margin-right: 5px;
 text-align: center;
 white-space: nowrap;
 font-size: 12px;
 font-family: Arial,SimSun;
 padding: 0 3px;

 } 

文档

MVC异步分页代码分享

MVC异步分页代码分享:如图: 1、控制器代码 // // GET: /AjaxUser/ shopEntities shop = new shopEntities(); public ActionResult Index() { return View(); } public ActionResult loadjson() { int pageSize =
推荐度:
标签: 分享 代码 分页
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top