Implementation of local refresh paging instance code based on BootStrap

  • 2021-07-09 06:57:23
  • OfStack

In the previous work I used a lot of paging, 1 straight is not firm, so their use is not very handy, this is a local refresh paging, I tried a lot, I want to use mvcPager to do local refresh, but considering the cost is too high, give up, first to summarize 1 based on bootstrap paging, it is convenient for their later use

Open source address https://github.com/lyonlai/bootstrap-paginator

First quote

Jquery

bootstrap.min.js

bootstrap-paginator.min.js

Controller code


[AuthorizationCodeAttribute]
[Description(" Comment information ")]
[HttpPost]
public ActionResult Comment(int id, int? page)
{
#region  Comment list  
var dal = new CarCommentOperator();
int pageIndex = page ?? 1;// Current page 
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
// Turn into Json Format 
var strResult = "{\"pageCount\":" + commentIPagedList.PageCount + ",\"CurrentPage\":" + commentIPagedList.PageNumber + ",\"list\":" + JsonConvert.SerializeObject(list) + "}"; 
return Json(strResult, JsonRequestBehavior.AllowGet);
}

js code


<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) { // Traversing the returned json 
$("#list").append('<table>');
$("#list").append('<tr>');
$("#list").append('<td> Commentator </td>');
$("#list").append('<td>'+item.UserProfileId+'</td>');
$("#list").append('</tr>');
$("#list").append('<tr>');
$("#list").append('<td> Content </td>');
$("#list").append('<td>'+item.Content+'</td>');
$("#list").append('</tr>');
$("#list").append('</table>'); 
}); // Add select option 
$("#commentList").append('<div id="pager"><ul id="page"></ul></div>');
var element = $("#page"); 
var pageCount = eval("(" + data + ")").pageCount; // Returned Json In the data pageCount( Convert the returned data to object Type )
var currentPage = eval("(" + data + ")").CurrentPage; // To return Json In the data CurrentPage
var options = { 
bootstrapMajorVersion: 3, // Version 
currentPage: currentPage, // Current number of pages 
numberOfPages: 5, // Set the number of page numbers displayed 
totalPages:pageCount, // Total pages 
itemTexts: function(type, page, current) {
switch (type) {
case "first":
return " Home page ";
case "prev":
return " Upper 1 Page ";
case "next":
return " Under 1 Page ";
case "last":
return " Last page ";
case "page":
return page;
}
//}
//pageUrl: function(type, page, current) {
// return "/car/Details?page=" + page;
},// Click event 
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) { // Traversing the returned json 
$("#list").append('<table style="border: 1px solid #00ced1;width: 300px">');
$("#list").append('<tr>');
$("#list").append('<td> Commentator </td>');
$("#list").append('<td>'+item.UserProfileId+'</td>');
$("#list").append('</tr>');
$("#list").append('<tr>');
$("#list").append('<td> Content </td>');
$("#list").append('<td>'+item.Content+'</td>');
$("#list").append('</tr>');
$("#list").append('</table>'); 
}); 
}
}
});
}
};
element.bootstrapPaginator(options);
}
}
});
}); 

Related articles: