1. 程式人生 > >MvcPager分頁控件使用註意事項!

MvcPager分頁控件使用註意事項!

fun active 官方 vnext eric 內容修改 template 更新 必須

初學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=\"#\">{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就行了。

MvcPager分頁控件使用註意事項!