ajax无刷新分页的简单实现
本文实例为大家分享了ajax无刷新分页的具体代码,供大家参考,具体内容如下
html页
<html> <head> <title></title> <styletype="text/css"> table{border:solid1px#444;background-color:Aqua;} tabletd{border:solid1px#444;} </style> <scriptsrc="js/Jquery1.7.js"type="text/javascript"></script> <scripttype="text/javascript"> $(function(){ varpageindex=1; varpagesize=10; /*如果将代码封装成一个函数,那么除非显示调用(loaddata()),否则函数中的代码不会执行 根据传递的页码和每页显示的记录数量获取数据 */ functionloaddata(){ $.ajax({ type:"post", contentType:"application/json", url:"WebService1.asmx/GetListAjax", data:"{pagesize:"+pagesize+",pageindex:"+pageindex+"}", success:function(result){ //处理返回来的数据 varstrtable='<table>'; strtable+='<tr><td>编号</td><td>标题</td><td>内容</td><td>创建时间</td></tr>'; for(vari=0;i<result.d.length;i++){ strtable+='<tr>'; strtable+='<td>'+result.d[i].Id+'</td>'; strtable+='<td>'+result.d[i].NewsTitle+'</td>'; strtable+='<td>'+result.d[i].NewsContent+'</td>' strtable+='<td>'+result.d[i].CreateTime+'</td>'; strtable+='</tr>'; } strtable+='</table>'; $('#mydiv').html(strtable); } }) } //根据传递到后台的每页显示的记录数量来获取最大的页码(就是一共有多少页) $.ajax({ type:"post", contentType:"application/json", url:"WebService1.asmx/GetLastPageindex", data:"{pagesize:"+pagesize+"}", success:function(result){ lastpageindex=result.d; } }) //显式调用函数,在页面初次加载时加载第一页数据 loaddata(); //下一页 $('a:eq(2)').click(function(){ if(pageindex<lastpageindex){ pageindex++; loaddata(); } }) //上一页 $('a:eq(1)').click(function(){ if(pageindex>1){ pageindex--; loaddata(); } }) //第一页 $('a:first').click(function(){ pageindex=1; loaddata(); }) //最后一页 $('a:eq(3)').click(function(){ pageindex=lastpageindex; loaddata(); }) $('a:last').click(function(){ pageindex=$('#txtPageindex').val(); loaddata(); }) }) </script> </head> <body> <divid="mydiv"> </div> <div><ahref="#">第一页</a><ahref="#">上一页</a><ahref="#">下一页</a><ahref="#">最后一页</a><input id="txtPageindex"type="text"/><ahref="#">Go</a></div> </body> </html>
WebService1.asmx
usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Web; usingSystem.Web.Services; usingSystem.Data; namespace分页 { ///<summary> ///WebService1的摘要说明 ///</summary> [WebService(Namespace="http://tempuri.org/")] [WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] //若要允许使用ASP.NETAJAX从脚本中调用此Web服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] publicclassWebService1:System.Web.Services.WebService { [WebMethod] publicstringHelloWorld() { return"HelloWorld"; } [WebMethod] publicList<Model.T_News1>GetListAjax(intpagesize,intpageindex) { BLL.T_News1bnews=newBLL.T_News1(); DataTabledt=bnews.GetListDataTable(pagesize,pageindex); List<Model.T_News1>list=newList<Model.T_News1>(); intId; stringnewstitle=""; stringnewscontent=""; DateTimecreatetime; for(inti=0;i<dt.Rows.Count;i++) { Id=Convert.ToInt32(dt.Rows[i]["Id"]); newstitle=dt.Rows[i]["NewsTitle"].ToString(); newscontent=dt.Rows[i]["NewsContent"].ToString(); createtime=Convert.ToDateTime(dt.Rows[i]["CreateTime"]); Model.T_News1news=newModel.T_News1() { Id=Id, NewsTitle=newstitle, NewsContent=newscontent, CreateTime=createtime }; list.Add(news); } returnlist; } [WebMethod] publicintGetLastPageindex(intpagesize) { BLL.T_News1bnews=newBLL.T_News1(); inttotalcount=bnews.GetRecordCount(""); if(totalcount%pagesize==0) { returntotalcount/pagesize; } else { returntotalcount/pagesize+1; } } } }
以上就是ajax无刷新分页实现的关键代码,希望对大家的学习有所帮助。