新建数据集:PagingDataSet.xsd
SELECT * from ( select id, areaID, area, father,Row_Number() over (order by areaID) rownum FROM dbo.area) t where t.rownum >=@startRowIndex and t.rownum <=@endRowIndex在集合中添加两个参数: startRowIndex endRowIndex
一般处理程序:PagedService.ashx
namespace ajaxApp.service {/// <summary>/// PagedService 的摘要说明/// </summary>public class PagedService : IHttpHandler{public void ProcessRequest(HttpContext context){context.Response.ContentType = "text/plain";//context.Response.Write("Hello World");string action = context.Request["action"];if (action == "getPagecount"){var adapter = new areaTableAdapter();int count = adapter.SelectCount().Value;int pageCount = count / 10;if (count % 10 != 0){pageCount++;}context.Response.Write(pageCount);}else if (action == "getPagedata"){string pagenum = context.Request["pagenum"];int iPageNum = Convert.ToInt32(pagenum);var adapter = new areaTableAdapter();var data = adapter.GetPagedData((iPageNum - 1) * 10 + 1, (iPageNum) * 10);List<Area> list = new List<Area>();foreach (var row in data){list.Add(new Area() { id=row.id,areaID=row.areaID,area=row.area,father=row.father});}//用LINQ更简单JavaScriptSerializer jss = new JavaScriptSerializer();context.Response.Write(jss.Serialize(list));}}public bool IsReusable{get{return false;}}}public class Area{public long id { get; set; }public int areaID { get; set; }public string area { get; set; }public int father { get; set; }} }
前台页面:Paged.htm
<head><title></title><script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script><script type="text/javascript">$(function () {$.post("PagedService.ashx", { "action": "getPagecount" }, function (data, status) {for (var i = 1; i <= data; i++) {var td = $("<td><a href=''>" + i + "</a></td>");$("#trPage").append(td);}$("#trPage td").click(function (e) {e.preventDefault();$.post("PagedService.ashx",{"action":"getPagedata","pagenum":$(this).text()},function(data,status){var comments = $.parseJSON(data);$("#ulComment").empty();for(var i =0;i<comments.length;i++){var comment = comments[i];var li = $("<li>"+comment.id+":"+comment.areaID+":"+comment.area+":"+comment.father+"</li>");$("#ulComment").append(li);}});});});})</script> </head> <body> <ul id="ulComment"></ul> <table> <tr id="trPage"></tr> </table> </body> </html>