2012-06-15 2 views
2

현재 PagedList (https://github.com/TroyGoode/PagedList/)를 사용하여 ASP.NET MVC 애플리케이션에서 페이징을 관리하고 있습니다.ASP.NET MVC에서 눈에 거슬리지 않는 Ajax를 지원하는 PagedList 도우미

현재 저는 ASP.NET MVC가 아주 쉽게 만드는 AJAX를 사용하기 위해 응용 프로그램의 일부를 변환하기 시작했습니다.

그러나 내가 처음 실행 한 문제는 PagedList.MVC 도우미 @ Html.PagedListPager가 눈에 거슬리지 않는 AJAX와 어떤 방식으로도 호환되지 않는다는 것입니다.

필자가해야 할 일은 페이징 링크 (아래 참조)에 일부 속성을 추가하면 나머지는 자동으로 처리됩니다. 그러나 PagedListPager는이를 수행 할 수있는 방법을 제공하지 않습니다.

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

아무도이 문제에 익숙하지 않고 우아한 해결책을 찾았습니까?

+0

http://prideparrot.com/blog/archive/2012/6/creating_a_custom_ajax_helper – VJAI

답변

5
+2

내 구현을 완성하게되었는데, 당신의 진지한 노력이 필요하다고 생각합니다. – NoPyGod

+0

거기의 404s의 Lot 's 트로이! –

+1

링크가 모두 404입니다. 내가 필요로하는 사람을 위해보기/컨트롤러 코드를 수동으로 찾았습니다 : https://github.com/troygoode/PagedList/blob/master/src/PagedList.Mvc4.Example/Controllers/UnobtrusiveAjaxController.cs https://github.com/troygoode/PagedList/blob/master/src/PagedList.Mvc4.Example/Views/UnobtrusiveAjax/Index.cshtml https://github.com/troygoode/PagedList/blob/master/src /PagedList.Mvc4.Example/Views/UnobtrusiveAjax/UnobtrusiveAjax_Partial.cshtml –

3

저는 이것이 가장 우아한 해결책 일 수 있다고 생각합니다.

@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를 그들이 눈에 거슬리지 아약스 모듈에 의해 뽑힐하기 위해 모든 링크에 필요한 속성을 추가 해킹.

[href^= "/"] 부분은 클릭 링크 만 수정되도록합니다. 이 옵션을 사용하지 않으면 회색으로 표시된 이전 링크를 클릭 할 수 있습니다. 눈에 거슬리지 AJAX에 대한

+0

내가 추가 한 비 해키 지원 :은 https ://github.com/TroyGoode/PagedList/issues/26#issuecomment-6471793 – Troy

+0

작동하지 않습니다. – gaurav

+0

시도해주세요. @ gauravvgat https://github.com/kwerty/PagedList – NoPyGod

관련 문제