基于BootStrap实现局部刷新分页实例代码


Posted in Javascript onAugust 08, 2016

在之前的工作中我用的分页有很多,一直不牢固,所以自己用起来也不是很顺手,这是一个局部刷新的分页,我试了很多,本想用mvcPager来做局部刷新,但是考虑到成本太高,放弃了,先来总结一下基于bootstrap的分页吧,便于自己以后使用

开源地址 https://github.com/lyonlai/bootstrap-paginator

首先引用

Jquery

bootstrap.min.js

bootstrap-paginator.min.js

控制器代码

[AuthorizationCodeAttribute]
[Description("评论信息")]
[HttpPost]
public ActionResult Comment(int id, int? page)
{
#region 评论列表 
var dal = new CarCommentOperator();
int pageIndex = page ?? 1;//当前页
if (!string.IsNullOrEmpty(Request.QueryString["pageindex"]))
{
if (!int.TryParse(Request.QueryString["pageindex"], out pageIndex))
{
pageIndex = 1;
}
}
const int pageSize = 2;
long totalCount;
long totalPageCount; 
IEnumerable<CarComment> list = dal.GetList(pageIndex, pageSize, out totalPageCount, out totalCount, "CarId=" + id);
var commentIPagedList = new StaticPagedList<CarComment>(list, pageIndex, pageSize, Convert.ToInt32(totalCount));
#endregion
//转成Json格式
var strResult = "{\"pageCount\":" + commentIPagedList.PageCount + ",\"CurrentPage\":" + commentIPagedList.PageNumber + ",\"list\":" + JsonConvert.SerializeObject(list) + "}"; 
return Json(strResult, JsonRequestBehavior.AllowGet);
}

js代码

<script type="text/javascript">
$(document).ready(function() { 
var carId = 1;
$.ajax({
url: "/car/Comment",
datatype:'json',
type: "Post",
data: "id=" + carId,
success: function(data) { 
if (data!=null) { 
$.each(eval("(" + data + ")").list, function(index, item) { //遍历返回的json 
$("#list").append('<table>');
$("#list").append('<tr>');
$("#list").append('<td>评论者</td>');
$("#list").append('<td>'+item.UserProfileId+'</td>');
$("#list").append('</tr>');
$("#list").append('<tr>');
$("#list").append('<td>内容</td>');
$("#list").append('<td>'+item.Content+'</td>');
$("#list").append('</tr>');
$("#list").append('</table>'); 
}); //添加select option 
$("#commentList").append('<div id="pager"><ul id="page"></ul></div>');
var element = $("#page"); 
var pageCount = eval("(" + data + ")").pageCount; //取返回的Json数据中的pageCount(把返回数据转成object类型)
var currentPage = eval("(" + data + ")").CurrentPage; //去返回的Json数据中的CurrentPage
var options = { 
bootstrapMajorVersion: 3, //版本
currentPage: currentPage, //当前页数
numberOfPages: 5, //设置显示的页码数
totalPages:pageCount, //总页数
itemTexts: function(type, page, current) {
switch (type) {
case "first":
return "首页";
case "prev":
return "上一页";
case "next":
return "下一页";
case "last":
return "末页";
case "page":
return page;
}
//}
//pageUrl: function(type, page, current) {
// return "/car/Details?page=" + page;
},//点击事件
onPageClicked: function(event, originalEvent, type, page) { 
$.ajax({
url: "/car/Comment?id="+carId,
type: "Post",
data:"page="+ page,
success: function(data1) {
if (data1!=null) {
$("#list").html("");
$.each(eval("(" + data1 + ")").list, function (index, item) { //遍历返回的json 
$("#list").append('<table style="border: 1px solid #00ced1;width: 300px">');
$("#list").append('<tr>');
$("#list").append('<td>评论者</td>');
$("#list").append('<td>'+item.UserProfileId+'</td>');
$("#list").append('</tr>');
$("#list").append('<tr>');
$("#list").append('<td>内容</td>');
$("#list").append('<td>'+item.Content+'</td>');
$("#list").append('</tr>');
$("#list").append('</table>'); 
}); 
}
}
});
}
};
element.bootstrapPaginator(options);
}
}
});
});

以上所述是小编给大家介绍的基于BootStrap实现局部刷新分页,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 面向对象全新理练之原型继承
Dec 03 Javascript
js实现addClass,removeClass,hasClass的函数代码
Jul 13 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
Apr 24 Javascript
原生js操作checkbox用document.getElementById实现
Oct 12 Javascript
详解js私有作用域中创建特权方法
Jan 25 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
Oct 13 Javascript
React简单介绍
May 24 Javascript
详解node nvm进行node多版本管理
Oct 21 Javascript
vue实现计算器功能
Feb 22 Javascript
Vue使用Three.js加载glTF模型的方法详解
Jun 14 Javascript
vue实现禁止浏览器记住密码功能的示例代码
Feb 03 Vue.js
JavaScript中关于预编译、作用域链和闭包的理解
Mar 31 Javascript
js智能获取浏览器版本UA信息的方法
Aug 08 #Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
Aug 08 #Javascript
一个超简单的jQuery回调函数例子(分享)
Aug 08 #Javascript
Bootstrap Table服务器分页与在线编辑应用总结
Aug 08 #Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
Aug 08 #Javascript
BootStrap Table 分页后重新搜索问题的解决办法
Aug 08 #Javascript
用js读写cookie的简单方法(推荐)
Aug 08 #Javascript
You might like
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
PHP自动生成缩略图函数的源码示例
2019/03/18 PHP
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
document.write()及其输出内容的样式、位置控制
2013/08/12 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
JavaScript对象数组的排序处理方法
2015/10/21 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
javascript验证内容为数字以及长度为10的简单实例
2016/08/20 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
vue增删改查的简单操作
2017/07/15 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
在Create React App中使用CSS Modules的方法示例
2019/01/15 Javascript
深入学习JavaScript中的bom
2019/05/27 Javascript
vue 对axios get pust put delete封装的实例代码
2020/01/05 Javascript
深入理解python中的atexit模块
2017/03/07 Python
python探索之BaseHTTPServer-实现Web服务器介绍
2017/10/28 Python
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
Python基于高斯消元法计算线性方程组示例
2018/01/17 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
2018/12/24 Python
Django实现简单的分页功能
2021/02/22 Python
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
移动通信行业实习自我鉴定
2013/09/28 职场文书
毕业生欢送会主持词
2014/03/31 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
考试作弊检讨书怎么写?
2014/12/21 职场文书
个人学习总结范文
2015/02/15 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技