在之前的工作中我用的分页有很多,一直不牢固,所以自己用起来也不是很顺手,这是一个局部刷新的分页,我试了很多,本想用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 list = dal.GetList(pageIndex, pageSize, out totalPageCount, out totalCount, "CarId=" + id);
var commentIPagedList = new StaticPagedList(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代码
$(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('
$("#list").append('
');$("#list").append('
评论者');$("#list").append('
'+item.UserProfileId+'');$("#list").append('
');$("#list").append('
');$("#list").append('
内容');$("#list").append('
'+item.Content+'');$("#list").append('
');$("#list").append('
');}); //添加select option
$("#commentList").append('
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('
$("#list").append('
');$("#list").append('
评论者');$("#list").append('
'+item.UserProfileId+'');$("#list").append('
');$("#list").append('
');$("#list").append('
内容');$("#list").append('
'+item.Content+'');$("#list").append('
');$("#list").append('
');});
}
}
});
}
};
element.bootstrapPaginator(options);
}
}
});
});
以上所述是小编给大家介绍的基于BootStrap实现局部刷新分页,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
本文标题: 基于BootStrap实现局部刷新分页实例代码
本文地址: http://www.cppcns.com/ruanjian/java/159493.html