Помощник для PagedList, поддерживающий ненавязчивый Ajax в ASP.NET MVC

В настоящее время я использую PagedList (https://github.com/TroyGoode/PagedList/) для управления пейджингом в приложении ASP.NET MVC.

На сегодняшний день я начал преобразовывать некоторые части приложения для использования AJAX, что ASP.NET MVC упрощает.

Однако первая проблема, с которой я столкнулся, заключается в том, что помощник PagedList.MVC @Html.PagedListPager никоим образом не совместим с ненавязчивым AJAX.

Все, что мне действительно нужно сделать, это добавить некоторые атрибуты к ссылкам на страницы (см. ниже), а об остальном позаботятся автоматически. Однако PagedListPager не предоставляет никакого способа сделать это.

data-ajax="true" data-ajax-mode="replace" data-ajax-update="#SearchResults" 

Кто-нибудь сталкивался с этим и нашел элегантное решение?


person NoPyGod    schedule 15.06.2012    source источник
comment
prideparrot.com/blog/archive/2012/6/   -  person VJAI    schedule 16.06.2012


Ответы (2)


Я добавил поддержку ненавязчивого AJAX:

https://github.com/TroyGoode/PagedList/issues/26#issuecomment-6471793

person Troy    schedule 21.06.2012
comment
Я закончил тем, что создал свою собственную реализацию, я думаю, что вам нужна серьезная работа. - person NoPyGod; 09.08.2012
comment
Лот 404 там Троя! - person Ben Power; 25.09.2013
comment
Все ссылки 404. Я вручную нашел код представления/контроллера для всех, кому они нужны: github.com/troygoode/PagedList/blob/master/src/ github.com/troygoode/PagedList/blob/master/src/ github.com/troygoode/PagedList/blob/master/src/< /а> - person Matthew Hudson; 15.01.2014

Я считаю, что это может быть самым элегантным решением.

@Html.PagedListPager((IPagedList)Model.Articles, page => Url.Action("Index", new { s = Model.SearchString, page = page }))

<script>


    var pages = $('#pages a[href^="/"]');

    pages.attr('data-ajax', 'true')
        .attr('data-ajax-mode', 'replace')
        .attr('data-ajax-update', '#SearchResults')
        .attr('data-ajax-method', 'post');


</script>

Быстрый хак jQuery для добавления необходимых атрибутов ко всем ссылкам, чтобы их подхватывал ненавязчивый модуль ajax.

Часть [href^="/"] гарантирует, что будут изменены только кликабельные ссылки. Если вы не используете это, серая ссылка «Предыдущая» будет активна.

person NoPyGod    schedule 16.06.2012
comment
Я добавил поддержку без взлома: github.com/TroyGoode/PagedList/issues /26#issuecomment-6471793 - person Troy; 21.06.2012