初学MVC,做了个单页面应用,需要显示多个分页,并无刷新更新。
找到了MvcPager控件,非常好用,在使用ajax过程中遇到很多问题。慢慢调试和杨老师(MvcPaegr作者)请教,总于都解决了。
首先NuGet包添加上。搜索MvcPager可以找到。
控制器端必须引用
using Webdiyer.WebControls.Mvc;
后端就不多记录了,看下官方Demo差不多都理解了,主要记录下前端。
<div> @Ajax.Pager(Model, new PagerOptions { ShowFirstLast=false,//显示第一页按钮 ShowPrevNext=false,//显示最后一页按钮 NumericPagerItemCount=5,//最多显示页码数 PageIndexParameterName="page",//传递给后端的分页参数,如果同页有多个分页,这个参数必须不同 Id="callajax",//分页控件的ID,给内容修改后需要刷新页面使用。 ContainerTagName="ul", CssClass="pagination", CurrentPagerItemTemplate="<li class=\"active\"><a href=http://www.jsgho.com/help/fwq/\"#\">{0}</a></li>", DisabledPagerItemTemplate="<li class=\"disabled\"><a>{0}</a></li>", PagerItemTemplate="<li>{0}</li>" }, new MvcAjaxOptions { UpdateTargetId="calllogpage",EnableHistorySupport=false }) </div>
然后在需要执行后刷新分页控件的地方加入,如果添加或者删除后执行
Webdiyer.MvcPagers.getById("callajax").ajaxReload();//这里面的ID是分页控件指定的ID
重要。使用上面的方法需要在MvcPager.js的jQuery插件中增加一个方法
ajaxReload:function(){ var context=this; context.allowReload=true; context.allowCache=false; var index=context.__getPageIndex(context.pageIndexName); context.__ajax(index===0?1:index, { type: this.httpMethod, data: [] }); },
重要,将MvcPager.js修改后就不能使用MvcPager的JS脚本注册方法了。
直接引用MvcPager.js就行了。
- 下一篇: Win7开机总是弹出找到新的硬件向导怎么办
- 上一篇: workgroup无法访问的解决方法