2

現在、PagedList(https://github.com/TroyGoode/PagedList/)を使用して、ASP.NETMVCアプリケーションでページングを管理しています。

今日から、アプリケーションの一部をAJAXを使用するように変換し始めました。これにより、ASP.NETMVCは非常に簡単になります。

ただし、私が遭遇した最初の問題は、PagedList.MVCヘルパー@Html.PagedListPagerが控えめなAJAXと互換性がないことです。

私が本当にする必要があるのは、ページングリンクにいくつかの属性を追加することだけです(以下を参照)。残りは自動的に処理されます。ただし、PagedListPagerはこれを行う方法を提供していません。

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

誰かがこれに遭遇し、エレガントな解決策を見つけましたか?

4

2 に答える 2

5

目立たないAJAXのサポートを追加しました:

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

于 2012-06-21T01:04:39.873 に答える
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>

目立たないajaxモジュールによってそれらがピックアップされるように、すべてのリンクに必要な属性を追加するためのクイックjQueryハック。

[href ^ = "/"]の部分は、クリック可能なリンクのみが変更されることを保証します。これを使用しない場合は、灰色で表示されている[前へ]リンクをクリックできます。

于 2012-06-16T00:20:34.997 に答える