asp.net mvc3 结合jquery.pagination.js 实现分页

来源:互联网 发布:mac回到桌面快捷键 编辑:程序博客网 时间:2024/05/16 10:05
asp.net mvc3 
View视图代码如下:
<script src="../../Scripts/jquery-1.5.1.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.pagination.js" type="text/javascript"></script>
<link href="../../Content/pagination.css" rel="stylesheet" type="text/css" />
<!--列表内容显示区域-->
<table width="1000" border="0" cellspacing="0" id="List">
  <tr class="ListTitle"><td>ID</td><td>书名</td><td>ISBN</td><td>单价</td><td>出版社</td><td>出版时间</td></tr>
</table>
<!--分页导航条显示区域-->
<div id="Pagination" class="pagination"></div>
<script type="text/javascript">
    var ListItemNum = 15; //每页显示多少条信息
    $(function () {
        // 创建分页
        $("#Pagination").pagination(@ViewData["RecordCount"], {
                num_edge_entries: 1, //边缘页数
                num_display_entries: 10, //主体页数
                callback: paginationCallback, //回调函数
                items_per_page: ListItemNum, //每页显示多少项
                prev_text: "前一页",
                next_text: "后一页"
            });
     });
 
   function paginationCallback(page_index, jq) {
        $.post("@Url.Action("GetPageList")", {"PageIndex": page_index, "ListItemNum": ListItemNum }, function (result) {
            var str = "";
            //result=eval("("+result+")"); http://www.52mvc.com
            $.each(result, function () {
                str += "<tr><td>"+this.Id+"</td><td>"+this.BookTitle+"</td><td>"+this.ISBN+"</td><td>"+this.Price+"</td><td>"+this.Publish+"</td><td>"+this.Published+"</td></tr>";
            });
   $("#List tr:gt(0)").remove();
            $("#List").append(str);
        })
    }

</script>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using BookProject_For_Mvc3.Models;

controller代码如下非常简单

namespace BookProject_For_Mvc3.Controllers
{
    public class HomeController : Controller
    {
        BookProjectEntities db = new BookProjectEntities();
        public ActionResult Index()
        {
            ViewData.Add("RecordCount", db.Books.Count());
            return View();
        }

        public ActionResult GetPageList(int ListItemNum, int PageIndex)
        { 
           var ret=db.Books
                .OrderBy(s => s.Id)
                .Skip((PageIndex) * ListItemNum)
                .Take(ListItemNum)
                .ToList();
           return Json(ret);
        }

    }
}
转载注名:http://blog.csdn.net/jhl52771/article/details/8459841
原创粉丝点击